- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Google Pixel topik
- Samsung Galaxy Watch7 - kötelező kör
- Samsung Galaxy A34 - plus size modell
- Nem várt platformon a OnePlus Nord 5
- Samsung Galaxy XCover7 Pro - burokban született One UI
- One mobilszolgáltatások
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Android alkalmazások - szoftver kibeszélő topik
- Android szakmai topik
-
Mobilarena
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Delila_1
veterán
válasz
Pulsar #35618 üzenetére
Feltöltöttem egy fájlt.
A Munka1 lapon az eredeti elrendezésben van a táblázatod. Itt egy elég összetett képlettel sikerült összehozni a műszakok jelét, de csak a hónap 21. napjáig, mert onnan kezdve az oszlopoknak 2 karakterből áll a betűjele. Ki lehetett volna bővíteni a képletet, de minek.A Munka2 lapon transzponáltam a táblázatodat, így már rövidebb képlettel sikerül elérni az eredményt.
-
Delila_1
veterán
válasz
Pulsar #35616 üzenetére
Csak a nappalos műszak elejét és végét adtad meg, ami 12 órát foglal magában. A közölt képen is N és É van, az A; B; C és D betűket nem tudtam mire vélni.
Nálatok egy nap 48 óra?Az előzőek szerint már össze tudod állítani a táblázatodat. Ha nagyon nem megy, itt valószínűleg kapsz segítséget.
-
Delila_1
veterán
válasz
Pulsar #35614 üzenetére
Az E oszlopba betettem a nevezetes időpontokat. Ezek vannak a G oszlopban is, de már általános formátumban (G1-> =E1). A G1:G6 tartományt érdemes saját magára értékként beilleszteni, akkor az E1:E6 feleslegessé válik, törölhető. A B oszlop képlete a G1:H6 tartományra hivatkozik, mikor itt keresi az A oszlopból képzett időpontot. A G:H tartományt teheted máshova is.
A B1 cella képlete lehet az INDEXes helyett
=FKERES(IDŐ(ÓRA(A1);PERC(A1);0);$G$1:$H$6;2)
-
föccer
nagyúr
válasz
Pulsar #34493 üzenetére
=MOST()+14/24
ez visszaadja a 14 óra múlva esedékes időpontot, minden újraszámolásnál frissít. Ha ebből csinálsz egy sorozoatot, mellé rakod a megjelenítendő adatokat, akkot diagrammot is készíthetsz vele, ami minden frissítésnál "arrébb csúszik"
ps: kicsit félre értettelek. A megoldás ugyan ez, csak az első cellába megy a most(), a többibe, pediglen erre hivatkozol. a fenti varázs összefüggéssel. 1 óra az 1/24-ed nap. Az excel a dátum-idő adatot úgy tárolja, hogy 1 nap az egység, így az 1 egyenértékű az 1 nap, 0 óra, 0 perc, 0 másodperccel, a 1+1/24 pedilgen 1 nap, 1 óra, 0 perc, 0 másodperc stbstb.
üdv, föccer
-
Fferi50
Topikgazda
válasz
Pulsar #33373 üzenetére
Szia!
"Két random szám van osszebrakva vesszővel elválasztva." Akkor ez a cella sajnos szöveg eredetileg és az érték függvény ezért hagyja le a "tizedesvessző"-nek gondolt rész után levő értéket.
"Az jutott eszembe, hogy a ket kapott számot össze fűzöm és osztom 100-al is ezt az eremenyt kapom,"
Nem, nem ezt az eredményt fogod kapni - amennyiben ezt szeretnéd, akkor az első számhoz a második szám osztva százzal eredményét kell hozzáadni. Azaz =elsőszám+másodikszám/100
Ebben az esetben maga az Excel fogja kirakni a tizedesvesszőt és szám lesz a cella formátuma is.Üdv.
-
-
lappy
őstag
válasz
Pulsar #13749 üzenetére
Szia!
mivel ezek adatok ill. szöveg elég nehézkes úgy dolgozni vele, hogy a számodra megfelelő formátumba lehessen alakítani! Ki kell szedni belőle az időpontokat és venni a különbséget, majd ezt úgy beilleszteni az összefűzendő szövegbe, hogy csak az időponttal megnövelt rész legyen?!?!Nem lehetetlen de nagyon összetett képlet kell hozzá!
-
válasz
Pulsar #13749 üzenetére
Hát azért a végeredmény, meg a korábbi elképzelés nem ugyanaz, kb annyi köze van a kettőnek egymáshoz, mint a kis, kék, gumigolyónak, a nagy, sárga fakockához...
Viszont egy képnek jobban örül(n)énk, mert így nem lehet biztosan tudni, hogy akkor hány cellába is kerültek az adatok, avagy üres cella is van közben stb (mert az adott példából, erre (is) lehet következtetni) -
válasz
Pulsar #13740 üzenetére
Én ezt inkább Word-ben hoznám megfelelő formátumba, majd azt követően vinném át Excel-be és utána szövegből oszlopok...
Azért wordben, mert ha ezt az adathalmazt beilleszted az Excelbe, akkor több cellára "töri" az Excel, míg wordben csak egy folyamatos szövegként látszik és az enter (vagy egyéb) vezérlőkaraktereket is el lehet távolítani.
-
Delila_1
veterán
válasz
Pulsar #11747 üzenetére
A fájl útvonalát és nevét csak akkor kell beírni a képletbe, ha a képletet tartalmazó, és a keresendő tartományok nem azonos fájlban vannak.
A kereső lap D4 cellájába írtam a képletedet a füzet megnevezése nélkül. Még annyit rövidítettem rajta, hogy a HAMIS helyett mindenhol nullát írtam.
=HA(HIBÁS(FKERES(AA4;'Line 8'!$A$4:$T$1700;4;0));HA(HIBÁS(FKERES(AA4;'Line 9'!$A$4:$T$1700;4;0));FKERES(AA4;'Line 11'!$A$4:$T$1700;4;0);FKERES(AA4;'Line 9'!$A$4:$T$1700;4;0));FKERES(AA4;'Line 8'!$A$4:$T$1700;4;0))Az E4 képlete
=HA(HIBÁS(FKERES(AA4;'Line 8'!$A$4:$T$1700;4;HAMIS));HA(HIBÁS(FKERES(AA4;'Line 9'!$A$4:$T$1700;4;HAMIS));"Line 11";"Line 9"))Abban az esetben, ha a Line 8 lapon van találat, ennek a képletnek az értéke (kimenete) HAMIS lesz. Hagyhatnánk így is, mivel tudod, hogy az E oszlop HAMIS értékénél a Line 8 lapon talált a keresésnek megfelelő adatot, de beírhatunk az F oszlopba egy új képletet:
=HA(BAL(E4;4)<>"Line";"Line 8";E4)
ami a Line 8-at is kiírja.Lehet, hogy van egyszerűbb megoldás, biztosan jelentkezik vele valaki.
-
Delila_1
veterán
válasz
Pulsar #11741 üzenetére
A Cella("filename") függvény megadja a fájl teljes elérési útvonalát, a fájlnevet, és a lapnevet. Ebből szövegfüggvényekkel ki tudod keresni a lapnevet.
=JOBB(A1;HOSSZ(A1)-SZÖVEG.TALÁL("]";A1))
A hosszú, vidám (HA-HA-HA) függvényedbe beépítve egy segédoszlopban kiírathatod.
-
Delila_1
veterán
válasz
Pulsar #11529 üzenetére
Az A oszlop formátuma nn. - a B oszlopé nnnn
Feltételes formázással megadhatod az A és B oszlopra, hogy ha a nap azonos a fölötte lévővel, akkor a betű színe legyen azonos a háttér színével. A képlet: =$C3=$C2A C oszlopot el is rejtheted. Ott az első képlet a C4 cellában van, az A és B oszlopokban pedig a 3. sorban. A feltételes formázás A3-tól B sokadikig tart.
-
föccer
nagyúr
válasz
Pulsar #11529 üzenetére
A tól és az ig oszlopokat nem lehet szétszedni külön oszlopba? Azért így sokkal macerásabb megállapítani, hogy mikor van 00:00.
ezt a legegyszerűbben ugye összefűz(bal(B3;2);":";"közép(B3;3;2)) lehet a legegyszerűbben. Értelem szerően ez csak a tól ig időpontot adja meg.
üdv, föccer
-
föccer
nagyúr
válasz
Pulsar #11524 üzenetére
A "B" oszlopban sort alkotnak az egymást követő időpontok? Azaz mindig ugyan annyit kell az előzőhöz hozzáadni, hogy megkapjuk a következőt?
Esetleg egy olyan nem lehet jó, hogy
A1-be beírod a kezdő dátumot
A2-be:=HA(B4=0;A3+1;A3)
A oszlop dátum, B oszlop idő formátumban megadva.
üdv, föccer
-
Delila_1
veterán
válasz
Pulsar #11401 üzenetére
A linken jobb klikk, Mentés másként. Htm formátumban menti. Ezt megnyitod az Excelben, ez a füzet legyen az aktív.
Előtte már megnyitottad azt a füzetet, amibe bemásoltad a makrót, amit most indítasz.A "kapitányos" sorokat kitörli az a makró, amit először írtam, azt használd.
-
Delila_1
veterán
válasz
Pulsar #11378 üzenetére
Kijavítottam a hibát. A htm formátumban mentett, és Excelben megnyitott fájlon futtatsd a makrót.
Sub Rend()
Dim usor%, sor%
Application.ScreenUpdating = False
Range("A:A,E:F").Delete Shift:=xlToLeft 'Oszlopok törlése
ActiveSheet.DrawingObjects.Delete 'Objektumok törlése
usor% = Range("A1").End(xlDown).Row - 1 'Felső sor%ok törlése
Rows("1:" & usor%).Delete Shift:=xlUp
Columns("A:C").UnMerge 'Összevonások megszüntetése
usor% = Range("A65536").End(xlUp).Row 'Dátum formátum
Range("A1:A" & usor%).Select
Selection.NumberFormat = "mmmm dd/"
Selection.SpecialCells(xlCellTypeBlanks).Select 'Üres cellák kitöltése az A oszlopban képlettel
Selection.FormulaR1C1 = "=R[-1]C"
Columns("A:A").Select 'Érték beillesztése a képletek helyére
With Selection
.Copy
.PasteSpecial Paste:=xlPasteValues
End With
Range("D1:D" & usor%).FormulaR1C1 = "=SEARCH(""Rendőr"",RC[-3])" 'Képlet a D oszlopba
For sor% = usor% To 3 Step -1 'Üres sorok törlése
If Cells(sor%, 2) = "" And IsError(Cells(sor%, 4)) Then Rows(sor%).Delete Shift:=xlUp
If IsNumeric(Cells(sor%, 4)) Then Range(Cells(sor%, 1), Cells(sor%, 3)).HorizontalAlignment = xlCenterAcrossSelection
Next
Columns(4).Delete Shift:=xlToLeft 'D segédoszlop törlése
Range("A1").Select
Application.ScreenUpdating = True
End Sub -
Delila_1
veterán
válasz
Pulsar #11378 üzenetére
Mented a fájlt htm formátumban. Behívod az Excelbe, és lefuttatod az alábbi makrót, amit egy másik füzetben tárolsz.
Sub Rend()
Dim usor As Long, sor As Long
Application.ScreenUpdating = False
'Oszlopok törlése
Range("A:A,E:F").Delete Shift:=xlToLeft
'Objektumok törlése
ActiveSheet.DrawingObjects.Delete
'Felső sorok törlése
usor = Range("A1").End(xlDown).Row - 1
Rows("1:" & usor).Delete Shift:=xlUp
'Összevonások megszüntetése
Columns("A:C").UnMerge
'Dátum formátum
usor = Range("A65536").End(xlUp).Row
Range("A1:A" & usor).Select
Selection.NumberFormat = "mmmm dd/"
'Üres cellák kitöltése az A oszlopban képlettel
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.FormulaR1C1 = "=R[-1]C"
'Érték beillesztése a képletek helyére
Columns("A:A").Select
With Selection
.Copy
.PasteSpecial Paste:=xlPasteValues
End With
'Üres sorok törlése
For sor = usor To 3 Step -1
If Cells(sor, 2) = "" Then Rows(sor).Delete Shift:=xlUp
Next
Range("A1").Select
Application.ScreenUpdating = True
End SubMivel a kapitányságok nem egyformán viszik be a dátumot, az A oszlopban lesz némi változatosság.
-
m.zmrzlina
senior tag
válasz
Pulsar #11378 üzenetére
Lehet, hogy engem kiemelt ügyfélként kezel a rendőrség (eleget kerestek már rajtam
) de ha én lementem Excelbe a linken lévő oldalt (nem szövegként beillesztve hanem html-ként) akkor egy fia felesleges szóközt nem találok benne.
Na jó, a táblázaton kívül van egy pár link meg kép egyhalomban de az egyszerűen törölhető. És a dátum sem ugyanúgy van megadva minden kapitányságnál de ennyi.
-
m.zmrzlina
senior tag
válasz
Pulsar #11368 üzenetére
Ha makróval szeretnéd megoldani a szóközök eltüntetését akkor próbálkozz ezzel:
Sub trimmel()
Dim cella As Range
For Each cella In Range("A1:D24").Cells 'ide a zárójelbe természetesen a saját tartományodat írod
cella.Value = Application.WorksheetFunction.Trim(cella)
Next
End Sub -
Hali!
Perfag linkjéhez annyit, hogy ne hogy megijedj tőle
, mert az egészben az a lényeg, hogy egy külső munkafüzetet az Application.ScreenUpdating = False és Application.ScreenUpdating = True között kelll megnyitni/feldolgozni/lezárni.
Application.ScreenUpdating = False
...
Megnyitod
Átveszed az adatokat amit kell
Lezárod
...
Application.ScreenUpdating = TrueFire.
-
perfag
aktív tag
Azért nem volt nekem egyértelmű, mert kihangsúlyoztad egyetlen cella értékét akarod exportálni.
Nem tudom milyen további terveid vannak az adattal? Más progi használja majd?
Nekem volt egy esetem, amikor egy Excel fájlból kellett 1-2 adat, annak megnyitása nélkül, Ole P. Erlandsen-nek van erre egy remek megoldása: Read information from a closed workbook -
perfag
aktív tag
Nem határoztad meg, hogy az a text fájl létezik-e. Más az eljárás, ha újat nyitsz, más ha egy létezőhöz hozzáfűzöd az adataidat.
Javasolnám Chip Pearson oldalát: export Excel data out to text file. Komplett, testre szabható megoldás. -
Delila_1
veterán
Az a másik cella lehetőleg másik lapon legyen, a példában a Munka2 lap A1 cellájában van.
Sub MentésTxtbe()
Application.DisplayAlerts = False
utvonal = "D:\Adatok\2010\"
FN = utvonal & Sheets("Munka2").Range("A1").Value
ActiveWorkbook.SaveAs Filename:=FN, FileFormat:= _
xlTextMSDOS, CreateBackup:=False
Application.DisplayAlerts = True
End SubAz utvonal változóhoz add meg a saját mentési útvonaladat.
-
-
Hali!
Lemaradt ez endif, akkor így
If adat = "SPEARS" Then
z = z + 1
End IfAmúgy meg én is azt kérdeztem volna, amit ulrik19, szóval mi változott, vagy esetleg maga az office csomag változott?
A Type Mismatch típushibára utal, tehát az And-es sorban keresném a hibát, de mivel azt írtad, hogy nem abban a sorban írja ki, ezért nem tudok mást elképzelni, azaz mégis.
Debuggold a kódot lépésről-lépésre, aztán ha mégis az And-es soron fog leakadni, akkor tuti, hogy a megadott cellákból nem megfelelő adatokat hasonlítasz össze...Fire.
-
ulrik19
tag
de az adat változó nem integernek van deklarálva?
én sosem szerettem az adat=cells(x,y) megadást, mert ez jelentheti magát a cellát, mint objektumot. (tudom, elvileg a .value a default tulajdonság, de akkor is)
szóval én ezzel kezdeném, de nem biztos, hogy ez a hiba forrása:
dim adat as string
ill.
adat=cells(x,y).value -
-
-
Delila_1
veterán
Ez a leggyorsabb, mert az Excel saját, beépített függvényét alkalmazzuk.
Lehetne egy ciklusban egyenként kikeresni az E oszlop értékeihez tartozó adatokat a másik lapon, eltenni egy változóba, és beírni az U oszlopba, de ez lassítaná a futást. A kitöltés - képlettel - és az érték beillesztése gyors művelet. -
Delila_1
veterán
Sub Keres()
Dim usor As Integer
usor = Sheets("IDE_MÁSOLD").Range("E65536").End(xlUp).Row
Sheets("IDE_MÁSOLD").Range("U1").Select
Selection.Formula = "=VLOOKUP(E1,PN!A:B,2,0)"
Selection.AutoFill Destination:=Range("U1:U" & usor), Type:=xlFillDefault
Columns(2).Copy
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Range("A1").Select
End SubÁtírtam az utolsó sor (usor) értékét, most az IDE_MÁSOLD lap E oszlopában lévő adatok alsó sorának számát veszi fel a változó.
A Range("A1").Select sorban írd az A1 helyére azt a cellát, ahonnan kényelmesen folytathatod a munkát. -
illetve, hogy megáll a 131-es sornál... miért? holott az adatok a 2253-as sorig van benne adat!
Ezt megoldottam
Sub keplet()
Dim usor As Integer
usor = Sheets("IDE_MASOLD").Range("A65000").End(xlUp).Row
Sheets("IDE_MASOLD").Range("U1").Select
Selection.Formula = "=VLOOKUP(E1,PN!A:B,2,0)"
Selection.AutoFill Destination:=Range("U1:U" & usor), Type:=xlFillDefault
End Sub -
Delila_1
veterán
Azt nem írtad, hogy ezt a képletet melyik oszlopba akarod tenni. Én a Munka1 lapon a B oszlopba vittem fel.
Sub képlet()
Dim usor As Integer
usor = Sheets("PN").Range("A65536").End(xlUp).Row
Sheets("Munka1").Range("B1").Select
Selection.Formula = "=VLOOKUP(E1,PN!A:B,2,0)"
Selection.AutoFill Destination:=Range("B1:B" & usor), Type:=xlFillDefault
End SubAz usor=Sheets("PN" ... lekérdezi a PN lap A oszlop utolsó kitöltött sorának sorszámát. A következő sor a Munka1 lap B1 cellájára lép, az ezt követő beírja a képletet. A képlet másolását az utolsó sor végzi el kitöltéssel.
-
ulrik19
tag
a DateLastAccessed igen, de a DateLastModified csak akkor, ha mentettél is.
de gondolom, az adott file utolsó hozzáférése az, amikor létrejött.
megnyitni csak egyszer nyitod meg, itt a kódban (gondolom kétszer nem importálsz)
viszont akkor a
Sheets("Data").Range("A47") = adatfile.DateLastModified
sort vidd fel az open elé (különben a pár pillanattal korábbi megnyitást jelzi) -
Hali!
De ez amit írsz, egy teljesen "normális" dolog adott esetben, mert a 2000-hez képest a használt VBA verzió is megváltozott a 2003/2007-ben. Ez meg annyit jelent, hogy bizonyos finkciók, procedurák, tulajdonságok változhattak, valamint szintaktikailag is megváltozott a VBA kód felépítése. Nem véletlen, hogy normálisabb tutorialokban, oda van írva, hogy old style code, azaz 97/2000/2002-es verziójú VBA kódnál használható.
A 2010 még kilóg a csapatból, nyilván közelebb áll a 2003/2007-es office-hoz, mint a 2000-hez. Azonban ezzel is vigyázni kell, mert ha az ember nem néz utána a Microsoft-nál pl, hogy mik változtak benne, amik legalábbis a VBA és az ehhez kötődő makróprogramozást érinti, akkor még az sem kizárt, hogy lehet olyan kódot írni, ami már 2003/2007 alatt sem fog működni. Persze ez utóbbi részemről csak feltételezés, mert még nem jártam utána a témának és igazából addig nem is fogok, amíg a végleges 2010-es office meg nem jelenik.(programozási célra(VBA) kerülendő egyenlőre, mivel béta)
A lényeg, hogy a 2003/2007/2010 ebből a szempontból "egy húron pendülnek", azaz nem feltétlenül fog futni az a makró kód 2000-an, amit "ezekkel" készítesz. Persze a 2000-es formátumok nagy része használható bennük, azaz úgy kell makrót írni a 2007 pl, mintha az egy 2000-es lenne.
Fire.
-
Hali!
Hát akkor fogadj el egy tanácsot. Mivel a 2010 BETA változat, ezért ha lehet kerüld a használatát, ha ilyen jellegű munkára(makró programozásra) adod a fejed, mert ki tudja mi változott benne és abból mi bugos vagy sem. Én a helyedben sürgősen visszatérnék 2007-re, aztán majd ha kint a végleges 2010, csak akkor használnám "komolyabb" célokra, mert akkor már pontosan lehet tudni, hogy mik változtak, milyen újítások/javítások történtek végérvényesen.
Fire.
UI: persze a jelen hibát nem feltétlenül ez okozza, csak ha lehet beta-t ne használjunk, mert sok kellemetlenséget okozhat.
-
ulrik19
tag
ez kell bele valahol a sub elején:
Dim adatfile As Variant, FSO As Variant
Set FSO = CreateObject("Scripting.FileSystemObject")
Set adatfile = FSO.GetFile("c:\Production_Daily.xls")és a dátumos sort erre módosítani:
alapfile.Sheets("Data").Range("A47") = adatfile.DateCreated -
Hali!
Azt jelenti, hogy nincs olyan tulajdonság vagy ha van is akkor nincs értéke pl NULL, NIL
Ami meg a kódot illeti, Te Creation date -et kérsz le, ami hivatalosan Creation Date Esetleg próbálj odafigyelni a kis-nagy betűkre, bár bevallom nem tudom, hogy ez VBA-ban számít-e.Fire.
-
ulrik19
tag
valamiért az az excel, amivel ott dolgozol, nem tartalmazza (ezek szerint) a "Creation date" tulajdonságot, ezért jelez hibát.
Próbáld ki szerintem a .BuiltinDocumentProperties.Item(1).Value módszerrel (ahol az indexet 0-tól viszed, amíg nem jelez hibát, és figyeled, melyik adja vissza a jó értéket.
Az is lehetséges, hogy mivel a kérdéses xls-t egy külső (gyanítom nem office) program hozta létre, nem tette bele a file-leírásba ezeket a tulajdonságokat... Ha így van, akkor más megoldás kell. Méghozzá valamilyen fso (FileSystemObject) módszer.
-
Delila_1
veterán
Sub dátum()
Workbooks("Munkafüzet1").Sheets("Munka1").Range("A1") = Date
End SubA Munkafüzet1 helyett beírod az állandó füzeted nevét, ami a makrót tartalmazza, és átírod a Munka1 lap nevét, no meg az A1 cellát is a megfelelőre.
Ha az idő is kell a dátumhoz, a Date helyére Now() kerüljön.Ui.: Mivel a keletkezési ideje kell, a Now() az igazi. Azt kell megoldani, hogy a másik füzet megnyitásakor hajtódjon végre.
-
Delila_1
veterán
... és hogy a füzet előző neve se maradjon ki:
Sub MentésElőzőnévÉsDátumNévvel()
Dim FN, utvonal
utvonal = "C:\"
FN = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4)
FN = FN & "_" & Left(ActiveWorkbook.BuiltinDocumentProperties("Creation date").Value, 11)
ActiveWorkbook.SaveAs Filename:=utvonal & FN & "xls"
End Sub -
Delila_1
veterán
Még egy apróság:
Ha tabulátorokkal tagolod a makrót, sokkal áttekinthetőbb lesz, az esetleges hibákat is könnyebb megtalálni benne. Érdemes megjegyzéseket beírni az egyes sorokhoz a későbbi módosítás megkönnyítéséhez. Valahogy így:Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
If CheckBox1.Value = True Then
Application.Run ("masolas_adat")
Application.Run ("reogitesreceiving")
Application.Run ("reogitesvisual")
Application.Run ("reogitesquicktest")
Application.Run ("reogitesfct")
Else
'Application.Run ("masolas_adat") Nem kell, ha a CheckBox1 jelöletlen
Application.Run ("reogitesreceiving")
Application.Run ("reogitesvisual")
Application.Run ("reogitesquicktest")
Application.Run ("reogitesfct")
End If
Application.ScreenUpdating = True
End Sub -
Delila_1
veterán
Az Application.ScreenUpdating=False sort még az If elé tenném (mert az nem függ a CheckBox állásától), az End Sub előtt pedig feltétlenül állítsd vissza True-ra. Másképp a makró futása után letiltva marad a képernyő frissítése, hacsak az utoljára futtatott makró nem a frissítés visszaállításával végződik. Mindenesetre elegánsabb, ha ott állítod vissza, ahol letiltottad.
Az innen futtatott makrókban nem kell külön tiltani, ill. engedélyezni. -
Delila_1
veterán
A CheckBox-ok segítségével kiválasztod, hogy mit akarsz tenni. Tegyél be egy gombot, és az hajtsa végre a feladatot a CheckBox-ok állásának megfelelően.
A primitív példa a CommandButton1 lenyomására az A1-be beírja a CheckBox1 állapotát.
A makrót a vezérlőket tartalmazó laphoz kell rendelni.Private Sub CommandButton1_Click()
If CheckBox1.Value = True Then
Cells(1) = "BE"
Else
Cells(1) = "KI"
End If
End Sub -
Cuci3
tag
Annyi a gon, hogy nem a FullName-et kell használnod, csak a Name-et. FullName az elérési útvonalat is tartalmazza (c:\blblbla.xls), míg a Name csak a fájl nevét és kiterjesztését (blablabla.xls).
Lentebb az átírt kód, kommentált kód. Bocs, de az elérési utat, fájlneveket nem volt kedvem visszaírni.Option Explicit 'deklarálás nélkül nem lehet változót használni
Sub masolas_adat()
Dim excel_filename, filename2 As String
excel_filename = ThisWorkbook.Name
Workbooks.Open Filename:="E:\Munkafüzet2.xls"
filename2 = ActiveWorkbook.Name
'én azért ide tennék valami kiválasztást, hátha megnyitás után rossz sheet az aktív
Columns("A:G").Select
Selection.Copy
Windows(excel_filename).Activate
Sheets("Munka2").Activate
'Workbooks(excel_filename).Sheets("Munka2").Activate
'én jobban szeretem a Workbooks(excel_filename) hivatkozást, de mind1
Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Windows(filename2).Activate
'vagy Workbooks(filename2).Activate
ActiveWindow.Close
Application.CutCopyMode = True 'Biztos kel ez a sor? Nekem tök felelslegesnek tűnik.
End Sub -
Hali!
Excel_Filename = "d:\munkafüzet1.xlsx"
Workbooks.Open filename:=Excel_Filenamevagy akkor
Excel_Filename = ThisWorkbook.FullName
Aztán itt lefut a makró többi része, és az Excel_Filename-be megkapod a fájlnevet, ezzel meg létrehozhatsz egy munkalapot pl így
Sheets.Add.Name = Excel_Filename,
aztán meg így hivatkozol rá pl Worksheets(Excel_Filename).ActivateRemélem erre gondoltál.
Fire.
Új hozzászólás Aktív témák
Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Xbox Series X|S
- Vezetékes FÜLhallgatók
- Digitális Állampolgárság Program DÁP
- Futás, futópályák
- Luck Dragon: Asszociációs játék. :)
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Kerékpárosok, bringások ide!
- További aktív témák...
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - NYÁRI AKCIÓ!
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- AKCIÓ! Dell Alienware M17 R3 Gamer notebook - i7 10750H 16GB DDR4 1TB SSD RTX 2070 8GB WIN10
- REFURBISHED és ÚJ - Lenovo ThinkPad 40AS USB-C docking station (akár 3x4K felbontás)
- 35" ASUS ROG Swift PG35VQ curved GAMER monitor
- Kimaxolt verzió! - 100 - Lenovo Yoga Pro 9 (16IRP8) - Intel Core i9-13905H, RTX 4070, 1TB SSD, 64GB
- Csere-Beszámítás! Asus Rog Strix RTX 3070Ti 8GB GDDR6X Videokártya!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged