- sziku69: Fűzzük össze a szavakat :)
- Gurulunk, WAZE?!
- Magga: PLEX: multimédia az egész lakásban
- gban: Ingyen kellene, de tegnapra
- eBay-es kütyük kis pénzért
- bambano: Bambanő háza tája
- gerner1
- ASUS Transformer Book T101HA
- hdanesz: 50. Debrecen Nagydíj - nemzetközi salakmotorverseny - életemben másodjára
- Luck Dragon: Asszociációs játék. :)
-
LOGOUT
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
-
harkhon
tag
Sziasztok,
A segítségeteket szeretném kérni:
Ha van egy táblázatom, aminek egy oszlopában ilyesmik vannak:
A1: "WALTER FS1368 SEALING DISC (TOMITO TARCSA)"
és nekem pl az FS1368 - as adat alapján kell keresni, és ha megtalálta, akkor adja eredményül pl az E1 cellában lévő szöveget eredményül, erre lehet függvényt használni?
Én Vlookup-pal próbálkoztam, de ha jól vettem ki akkor azért adott rossz értéket, mert teljes egyezést keres.
Előre is köszönöm,
-
Delila_1
veterán
válasz
#05304832 #36995 üzenetére
A mai dátum bevitele Ctrl+0.
A helyedben a Jelentésszűrőbe tenném a 3 kategóriát, az Oszlopcímkékhez a kiadás-bevételt, a Sorcímkékhez a ügyfelet, a megnevezést és a dátumot, végül az Értékekhez az összeget.
Kiadás esetén negatív legyen a bevitt összeg, bevételnél pozitív, másképp hamis eredményt kapsz.
-
repvez
addikt
válasz
Delila_1 #36978 üzenetére
Köszi ezt a képet le is mentem ha legközelebb szükség lesz rá.
Egy annyi kérdésem Lenne még,ha ezt felteszem google excel be vagy oda az online felületére akkor meg tudom addni , hogy ki láthassa és ki szerkeszti?
Vagy ha a nevek helyre a google emailcimüket irom akkor a google naptárukba be fog állitani nekik értesitést ha változás történik? -
p5quser
tag
Esetleg arra nincs valakinek tippje, hogy ezt;
For i = 2 To Sheets.Count
Cells(2, i).Formula = "=INDEX('" & Sheets(i).Name & "'!$A$1:$N$400,MATCH(A2,'" & Sheets(i).Name & "'!$B$1:$B$400,0),11)"
Next ihogyan házasítsam egy autofill-lel, hogy a cellát végighúzza az oszlopon?
Köszönöm! -
föccer
nagyúr
válasz
Delila_1 #36984 üzenetére
Így van, de itt érzésemre más volt a gond.
Szoktam olyan "csalást" alkalmazni,m hogy ha kevés elemből kell keresni, hogy a keresési oszlop értékeire listás érvényesítést állítok be az adatbeviteli cellában, így ki van zárva bármiféle gépelési vagy egyéb user erroro.
üdv, föccer
-
Delila_1
veterán
válasz
p5quser #36979 üzenetére
Lehet, hogy látszatra egyforma a két érték, de a keresett érték számként-, a 11. oszlopban pedig szövegként van megadva.
Ha mindegyik szöveg, gyakori hiba, hogy az egyik tartalmaz (többnyire a végén) egy szóközt. A TRIM függvénnyel levághatod a szöveg elején, és végén lévő szóközöket egy új oszlopban a keresés előtt, majd értékként beilleszted az eredeti helyére.
-
p5quser
tag
#nevergiveup
Sziasztok!
=INDEX('rakat1'!$A$1:$N$400;HOL.VAN(A2;'rakat1'!$A$1:$N$400;0);11)
Ez miért "hiányzik"-kal dobál engem, amikor mindkét táblában ott vannak az adatok?
Az első munkalap A2-es cellájában van a keresési érték megadva (szöveg) és a rakat1-ből szeretném kikeresni az ehhez az értékhez tartozó sor 11. oszlopának metszetét.
Ctrl-F-re behozza mindkét lapon, tehát a keresési érték helyes.
Köszönöm. -
p5quser
tag
#mithittem
Sziasztok!
Ismét.Dim rngA As Range
Dim rngB As Range
Dim intI As Integer
Set rngA = ws.Range("B1:B400")
Set rngB = act.Range("A1:A400")
For intI = 400 To 1 Step -1
If Application.WorksheetFunction.CountIf(rngB, rngA.Cells(intI)) = 0 Then
rngA.Cells(intI).Delete Shift:=xlUp
End If
Next intIEzt az izékét hogyan kell úgy módosítani, hogy ne törölje a cella tartalmát, hanem hogy másolja ki B-ből és szúrja be A-ba, egy sor "letolással", megegyező sorba?
Köszönöm! -
Mr Dini
addikt
Sziasztok!
Kerestem a megoldást mindenfelé, de nem sikerült rájönnöm a megoldásra... Hogyan lehetséges a kritérium mezőben (pl.: az
AB.DARAB2()
képlet esetében) értékeket, s nem tartományt megadni? Tehát olyasformán, hogy ne kelljen "segédcellákat" használnom. Próbáltam tömbként megadni:{"UserType"\"premium"}
Illetve ugyanezt traszponálva, hátha úgy megy:
{"UserType";"premium"}
De nem, úgy látszik nem szereti a tömb formátumot.
Köszönök minden megoldási ötletet!
-
Delila_1
veterán
válasz
RAiN91 #36971 üzenetére
Mivel sok statisztikai adatról van szó, el tudom képzelni, hogy a felső sorokban (amik már nem változnak) a képletek helyére beillesztheted a az értéküket.
Például a HOL.VAN függvény eredménye az említett példában 3, és ez év végén is annyi lesz. Kijelölöd ezeknek a képleteknek a tartományát, Ctrl+c-vel másolod. Marad a kijelölés, ahogy volt. Jobb klikk, Irányított beillesztés, Értéket.
Csak néhány utolsó sorban hagyd meg a képleteket, a többit írd felül az értékükkel. Jelentősen nő a sebesség, és csökken a fájl mérete. Az értékbeillesztést időről időre végrehajthatod az újabb képleteknél.
-
RAiN91
őstag
válasz
Delila_1 #36970 üzenetére
Sajnos lesz annyi adat, legalábbis elméletben lesz, de már most 50 Mb a fájl, és lassú az egész, és még alig van benne valami
1 évnyi sportfogadás statisztika adatai.
#36972: akkor ezzel kapcsolatban még egy kérdés. Akkor inkább VBA-ban érdemesebb a képleteket írogatni, egy For-Next ciklussal?
-
Delila_1
veterán
válasz
RAiN91 #36969 üzenetére
"Néhány függvény az utolsó celláig le van húzva, 1048576 sorig"
Ilyent még az öregapám sem hallott! Mi az
-nek másolod végig? Mikor lesz 10^6 sorod?!
Készíts az adataid felső 2 sorából táblázatot (Beszúrás menü), majd a jobb alsó sarokban megjelenő kis kék jelet húzd le addig, ameddig kitöltött sorod van. Az alatta lévő TELJES sorokat töröld.
Új adatsor bevitelekor automatikusan nő a táblázatod mérete, és az új sor örökli a fölötte lévő képletet (cellaformázást, érvényesítést).
A milliós nagyságrendű képlet kiszámításához idő kell. A képletek törlésével feltűnően felgyorsul a számolás.
-
p5quser
tag
#36961 Pakliman
#36962 Delila_1
Mindkettőtöknek köszönöm, mindkettő jól működik!
Ráadásul minkettő tanít, ami jól jön a következő lépésekhez.
Mégegyszer köszönöm!Pakliman, remélem kódolgatsz a dokinál, nincs baj.
-
RAiN91
őstag
Sziasztok
Melyik az a függvény, ami hasonló mint a KERES, csak kicsit fordítva:
Van egy adott sor, számokkal. Megadok neki egy számot, amit keressen ki abból a sorból, és adja meg, hogy pl. balról hányadik oszlopban található.
Pl. 2 5 9 8 10 5
Keresem a 9-est, eredményül tehát a 3-as számot szeretném kapni.
-
Delila_1
veterán
válasz
p5quser #36959 üzenetére
A laphoz rendelt gomb csak a saját lapján tud dolgozni. Helyette tegyél a lapra (mondjuk az elsőre) egy alakzatot, pl. a lekerekített téglalapot.
Modulba másold be a makrót:
Sub Szures()
Dim lap As Integer
Application.ScreenUpdating = False
For lap = 2 To Sheets.Count
Sheets(lap).Select
ActiveSheet.Range("$A$1:$N$330").AutoFilter Field:=11, Criteria1:=">1"
ActiveSheet.AutoFilter.Range.Select
Selection.Interior.Color = 5296274
' ActiveSheet.Range("$A$1:$N$330").AutoFilter Field:=11 'összes sor mutatása
Next
' Sheets(1).Select 'első lapra állás
Application.ScreenUpdating = True
End SubAz alakzathoz rendeld hozzá a Szures makrót. Ez a másodiktól az utolsó lapig halad, és mindenhol végrehajtja a szűrést, színezést.
Nézd meg, kell-e a két sor a makróban, amikhez megjegyzést fűztem.
-
Pakliman
tag
válasz
p5quser #36959 üzenetére
Szia!
Nem próbáltam ki, mert dokinál vagyok, de mennie kellene:Sub CommandButton2_Click()
'Kijelölés
Dim ws as worksheet
Dim act as worksheet
Set act=activesheet
For each ws in worksheets
If not ws is act then
Ws.activate
Ws.Range("$A$1:$N$330").AutoFilter Field:=11, Criteria1:=">1", _
Operator:=xlAnd
Ws.AutoFilter.Range.Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Ws.ShowAllData
Ws.Range("$A$1:$N$330").AutoFilter Field:=11, Criteria1:="<-1", _
Operator:=xlAnd
Ws.AutoFilter.Range.Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
Ws.ShowAllData
Ws.Range("$A$1:$N$316").AutoFilter Field:=11, Criteria1:=">1", _
Operator:=xlOr, Criteria2:="<-1"
Endif
Next ws
End Sub
(Baromi nehéz telefonon írni)
-
repvez
addikt
válasz
repvez #36954 üzenetére
Eddig jutottam eddig :[kép]
Hiába probálom átmásolni a modositott értékekkel amit még régeben delila1 csinált nekem táblázatot nem akar müködni.
Van valami általánosan használható függvény arra ha egy egész évben a szombatot és a vasárnapot át akarom szinezni a kijelölt tartományban a cellákat plusz az ünnepnapok és a ledolgozandó szombatokkal?Addig eljutottam, hogy a feltételes formázásban a szombat vasárnapok elszineződnek, de csak a fejléc ahogy látszik a hozzá tartozó tartományon belüli oszlopok nem csak az egész tartomány.
ÉS ha tartalom kerül a cellába akkor eltünik.
A1ben van a kezdődátum 2018.01.01 a többi meg látszik a képen, hogy mi hol van. -
p5quser
tag
válasz
Delila_1 #36956 üzenetére
Szia!
Először is köszönöm.
Nem igazán tudom beszúrni, vagy nem ilyen formában kellene utasítani, vagy passz...
Az első munkalapon lévő gombhoz van rendelve ez a makró. Lefut, de csak azon a munkalapon, amelyiken futtatom a "debug" ablakból. Valamint az első munkalapon elszáll hibával, mert nem úgy néz ki mint a többi.Sub CommandButton2_Click()
'Kijelölés
ActiveSheet.Range("$A$1:$N$330").AutoFilter Field:=11, Criteria1:=">1", _
Operator:=xlAnd
ActiveSheet.AutoFilter.Range.Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
ActiveSheet.ShowAllData
ActiveSheet.Range("$A$1:$N$330").AutoFilter Field:=11, Criteria1:="<-1", _
Operator:=xlAnd
ActiveSheet.AutoFilter.Range.Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
ActiveSheet.ShowAllData
ActiveSheet.Range("$A$1:$N$316").AutoFilter Field:=11, Criteria1:=">1", _
Operator:=xlOr, Criteria2:="<-1"
End SubEnnek a makrónak kéne lefutnia az összes munkalapon (kivéve az elsőt) a munkafüzetben, ha klikkelnek a gombra.
-
lappy
őstag
-
Delila_1
veterán
-
p5quser
tag
Sziasztok!
Azt meg tudnátok mutatni hogy ezt;Selection.AutoFilter
ActiveSheet.Range("$A$1:$N$316").AutoFilter Field:=11, Criteria1:=">1", _
Operator:=xlOr, Criteria2:="<-1"hogy tudom kiterjeszteni az összes munkalapra, kivéve az elsőt?
Előre is köszönöm! -
repvez
addikt
online google excelben meg lehet azt oldani valahogy , hogy egy táblázat fejlécét egy lenyiló menüben kiválasztani az aktuális hónapot és annak megfelelően a kijelölt tartományban (15x31 cella c3:AC15) a megfelelő oszlopok elszineződjenek a hétvégéknek megfelelően , szombat zöld, vasárnap és ünnepnap piros.
ÉS a beirt jelek késöbb is visszanézhetöek egy korábbi dátumra?
A sima excelbe több eszközt találtam ezekhez itt nem nagyon találom . és azt hogy vagy hol tudom beállitani, hogy csak az láthassa és szerkeszthesse akinek a link megvan más ne.
Ha az, akinek megvan a link és van is gmailos fiokja az tud szinkronizálni a saját naptárjával vele és beirni a megfelelö értesitést hozzá? -
edari
őstag
Csak egy példa, átírod a tartományt (A1: BZ1), illetve a Field értékét, és a munkalapot (Munka8).
With Munka8
.AutoFilterMode = False
.Range("A1:BZ1").AutoFilter 'Filter bekapcsolása
.Range("A1:BZ1").AutoFilter Field:=1, Criteria1:="OK" 'Kritérium megadása
.Range("A2:BZ100000").SpecialCells(xlCellTypeVisible).EntireRow.Delete 'Kritériumnak eleget tevő cellák törlése
Cells.AutoFilter 'Filter törlése
Range("A1").Select 'Alap kiindulópont beállítása
Application.CutCopyMode = False 'Kijelölés megszüntetése
MsgBox ("Ok")
End With -
spe88
senior tag
Hello!
Van arra ötlet, hogy ha van 30000 sorból álló Excel-fájlomban egy oszlop, aminek a tartalma NOK vagy OK, akkor egy makró szűrjön rá az OK-okra és az összes ilyen sort törölje? (Ne a tartalmát, hanem az egész sort.)
-
spe88
senior tag
Hello!
Indirekt függvénnyel külső hivatkozásra mutatok, de nem működik. Ha külső hivatkozás meg van nyitva és kapcsos zárójelek közt van, akkor semmi gond. De ha nincs megnyitva és elérési út van megadva, akkor nem megy.
Hol rontom el?
így megy:
=INDIREKT("[2.xlsx]2'!"&ÖSSZEFŰZ($A$2;6+SOR()-2))
így nem:
=INDIREKT("'c:\[2.xlsx]2'!"&ÖSSZEFŰZ($A$2;6+SOR()-2))
HIV-et dob ki nem pedig az értéket.
Köszi
-
Fferi50
Topikgazda
válasz
excel_segits #36945 üzenetére
Szia!
"Viszont a képlettel valami nem stimmel, mert az A33-as mezőt hívja meg elsőként, és nem az A3-ast.
=INDIREKT("FELVÉTEL!A3"&SOR()*3)"
Mivel A3 és nem A szerepel a SOR függvény előtt!
Üdv.
-
p5quser
tag
Sziasztok!
Esélyem sincs...
Arra össze tudnátok dobni egy szkriptet, hogy;
Egy munkafüzet összes munkalapjának (az első kivételével) "K" oszlopában lévő 1< számokat tartalmazó sorokat zölddel, a -1> számokat tartalmazó sorokat pedig pirossal kijelölje?
Ha ez valakinek kisujjból kiröppen, akkor megkérném arra is, hogy esetleg ezeket a színezett sorokat (illetve "B" és "K" oszlop-metszetüket, valamint külön cellába a munkalap nevét hozzáfűzve) másolja be az első munkalapba?
Az első munkalapba másolt adatok színenként "tömbösülnének".
Ilyesmire gondoltamTermészetesen megértem, ha valaki kisujj helyett a középső ujjából próbálja kirázni kérésem
, ebben az esetben -kérem- vezessen végig a lépéseken, mint egy kétévest.
Köszönöm! -
excel_segits
újonc
válasz
Fferi50 #36943 üzenetére
Szia!
Köszönöm először is a segítségedet, egy isten vagy!
Viszont a képlettel valami nem stimmel, mert az A33-as mezőt hívja meg elsőként, és nem az A3-ast.
=INDIREKT("FELVÉTEL!A3"&SOR()*3)
Felvétel munkalapról 3ik sorral kéne kezdeni (A3-cella).
Tényleg nagyon köszönöm a segítséget
-
spe88
senior tag
Sziasztok!
Hogy tudnék egy olyan makrót írni, hogy van egy adott oszlop ('G'), annak bármlyik cellájában OK-ot talál, azt a teljes sort törölje ki a munkalapról. Nem a tartalmát, a teljes sort.
Köszönöm
-
Fferi50
Topikgazda
válasz
excel_segits #36942 üzenetére
Szia!
Az indirekt függvény használhatod.
Ha az első sorban kezded a hármasokat, akkor az első sor képlete:
=INDIREKT("A"&SOR()*3),=INDIREKT("A" & SOR()*3+1),=INDIREKT("A" & SOR()*3+2)Ha másik munkalapra kell írnod, akkor az A elé természetesen írd be a munkalap nevét is (Munka1!A)
Ha nem az első sorban kezded az írást, akkor a (SOR()-x)*3 képletet kell helyettesítened, hogy a 3. sor kerüljön az első sor képletébe. x amennyivel lejjebb vagy az első sortól.
Ha az adatok nem a 3. sorban kezdődnek, akkor a sor() függvény eredményéhez hozzá kell adnod annyit, hogy a kívánt sortól kezdődjenek az értékek, a 2 további oszlopban pedig ehhez +1 ill. +2.
Ha pl. az 5. sortól kellenek a számok, akkor SOR()*3+2 az első képletben, a másodikban SOR()*3+3, a harmadikban SOR()*3+4.A 3-as szorzó az egy sorban megjelenítendő adatok miatt van.
Remélem érthető a logika.
Üdv.
-
excel_segits
újonc
Sziasztok!
Excelben lenne szükségem egy kis segítségre:
Van egy adattáblám egy lapfülön, ami adatokat meg akarok hívni egy másik lapra oly módon hogy arról etikett matricákat nyomtathassak.
Avagy 3x8 as mezőmátrixba kell rendezzem, és formázzam. Mindegy is hogy egy matricára hány cella kerülne, mivel:nem akarja sorba rendezni semmilyen módon. Ilyet szeretnék (cellamátrixban persze):
A3 A4 A5
A6 A7 A8
A9 A10 A11Nyilván látjátok a mintázatot. Az adatok a rendelésfelvétel lapjáról lennének meghívva (A oszlop elemei). Viszont amikor a megkezdett mintát lehúzom, hogy másolja be a többi cellába is, akkor teljesen értelmetlen sorozattal folytatja
A3 A4 A5
A6 A7 A8
A9 A10 A11
A6
A9
A12
A9
A12
A15
A12
A15
A18
STB.(többit ki se töltöm, mert ugyanígy csinálja. Próbáltam már teljes oldalakat kitölteni, és úgy lehúzni, de az se működik.
Ha tudtok segíteni azt nagyon megköszönöm. Bármi kérdés van, válaszolok rá két hajtépés között.
-
p5quser
tag
Sziasztok!
Azt hogy lehet ebben a scriptben megoldani, hogy a megnyitott excel fájlok neve legyen a munkalapok neve?
A pár hsz.-sal feljebbi kérdésemhez kapcsolódik a téma.
Előre is köszönöm!Sub CommandButton1_Click()
Dim fnameList, fnameCurFile As Variant
Dim countFiles, countSheets As Integer
Dim wksCurSheet As Worksheet
Dim wbkCurBook, wbkSrcBook As Workbook
fnameList = Application.GetOpenFilename(FileFilter:="Microsoft Excel Workbooks (*.xls;*.xlsx;*.xlsm),*.xls;*.xlsx;*.xlsm", Title:="Choose Excel files to merge", MultiSelect:=True)
If (vbBoolean <> VarType(fnameList)) Then
If (UBound(fnameList) > 0) Then
countFiles = 0
countSheets = 0
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set wbkCurBook = ActiveWorkbook
For Each fnameCurFile In fnameList
countFiles = countFiles + 1
Set wbkSrcBook = Workbooks.Open(Filename:=fnameCurFile)
For Each wksCurSheet In wbkSrcBook.Sheets
countSheets = countSheets + 1
wksCurSheet.Copy after:=wbkCurBook.Sheets(wbkCurBook.Sheets.Count)
Next
wbkSrcBook.Close SaveChanges:=False
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "Procesed " & countFiles & " files" & vbCrLf & "Merged " & countSheets & " worksheets", Title:="Merge Excel files"
End If
Else
MsgBox "No files selected", Title:="Merge Excel files"
End If
End Sub -
varsam
őstag
Sziasztok,
VBA segítséget kérnék. - (Excel 2016ban)
Adott egy munkafüzet, amely több sheeten is adatokat szív be OLE DB kapcsolattal egy Oracle adatbázisból.
Ez amikor frissítem az adattáblát bekéri a felhasználónevet / jelszavat aztán frissül szépen.Valahogy egy makróban tudom rögzíteni ezt a jelszót, hogy elég legyen csak egy frissítő gombra nyomni és ne kelljen jelszót beírni többször is, ahány adattábla van? Mindnek ugyanaz a felh/jelszava amúgy.
Utána mentenék az excelből egy makró nélküli változatot amit küldenék ki a usereknek, így a jelszóhoz nem férnének hozzá.
köszi előre is
-
RAiN91
őstag
Sziasztok! Ebből hogyan tudnék működőt varázsolni? A cél az, hogy ha egymás alatt vannak adatok, kihagyással, akkor, ha kihagyás van, egyet lépjen előre sorszámban. Példa:
sdasdas 1
dasdsad 1sadasd 2
asdsad 2
asdasd 2
sdadsa 2Sub ffffasd()
For k = 1 To 51 Step 1
For i = 1 To 51 Step 1
Cells(i, 18) = k
If Cells(i, 1) = "" Then
Next k
End If
Next i
End Sub -
Hello!
Excel 2010. Minden megnyitott táblázat ugyanabba az Excel ablakba nyílik a melóhelyemen. Marhára zavar, nálam otthon a 2007 szépen külön Excelt nyit a tálcára, és szépen tudok az ablakok között váltani.
Itt hogy lehet ezt beállítani? -
p5quser
tag
Ráleltem... Hátha másnak is jól jön. A VBA-s hókusz-pókusz megteszi amire kérem.
-
Fferi50
Topikgazda
válasz
p5quser #36929 üzenetére
Szia!
Meg van nyitva a célfájlod.
Megnyitod a forrásfájlt. Munkalap fülön jobb egérgomb - másolás vagy áthelyezés - kiválasztod a célfájlt - legyen másolat. Forrásfájl bezárás.
Ezt ismétled, mígnem elfogynak a forrás fájlok.
Persze lehet rá makrót is írni - sőt felvenni is. Ha a célfájlba valahova beírod a forrásfájlok neveit, akkor ciklusban sorban meg lehet nyitni azokat, átmásolni a munkalapot és bezárni.Üdv.
PS.
(valamikor hajdanán volt olyan DOS parancs, amivel több fájlt össze lehetett másolni, nem tudom, Windows támogat-e ilyet, azt pedig végképp nem, hogy a legeslegeslegújabb fájlformátumban egyáltalán lehetséges-e hasonló - de szerintem nem)
-
p5quser
tag
Sziasztok!
Hogyan lehet megnyitni több excel fájlt úgy, hogy egy excel munkafüzet munkalapjaiként jelenjenek meg? A copy-paste kissé körülményes lenne 30-akárhány munkafüzetből. Az így megnyitott összes munkalap adott oszlopainak értékeit szeretném kinyerni az első munkalapon. Vba-zni kell, vagy van erre valami égetett megoldás az excelben?
Előre is köszönöm! -
csferke
senior tag
Sziasztok!
Ez egyébként is egy "DOS-os" dolog, akkor használd, ha nosztalgiázni van kedved
Ezzel "jegelem" is az elképzelésemet. Egyébként sem kellene napi szinten de majd odafigyelek, hogy mit/mikor hová íratok.Pakliman & Fferi50
-
Pakliman
tag
válasz
csferke #36925 üzenetére
Hali!
Réges-régen nekem is voltak gondjaim ezzel a CHDIR-es dologgal, úgyhogy hanyagolom azóta.
Ez egyébként is egy "DOS-os" dolog, akkor használd, ha nosztalgiázni van kedved
Bármit is szeretnél azokkal a mappákkal/fájlokkal, másképp sokkal egyszerűbben meg tudod oldani.
Pl.: munkafüzet megnyitása aWorkbooks.Open
-el, mentése aWorkbooks.Save/Workbooks.SaveAs
-el, "szöveges" fájlok olvasása/írása azOpen myFile For Input/Output/Append As #1
módszerrel, vagy a kicsit "bonyolultabb"Scripting.FileSystemObject
-el, stb.De ha mégis inkább CHDIR, akkor:
(Hibakereséshez egy kicsit átalakítva a Tied)Sub utvonal()
Dim PathName As String
Dim PathFull As String
PathName = Left((ActiveWorkbook.Name), (Len((ActiveWorkbook.Name)) - 5))
PathFull = "g:\Google Drive\TRANSPORT\" & PathName
Debug.Print PathFull
Debug.Print ActiveWorkbook.Path
Debug.Print "Egyezés: " & PathFull = ActiveWorkbook.Path
MsgBox PathName
ChDrive "G"
ChDir PathFull
MsgBox ActiveWorkbook.Path
End Sub -
csferke
senior tag
válasz
Fferi50 #36924 üzenetére
Szia!
Igen, vannak almappák a Transport mappában.ChDir "g:\Google Drive\TRANSPORT\"
Mivel több munkafüzetem is dolgozik a rendszerben így a megnyitásukkor egy HovaMenteniMappa makróval szeretném megadni, hogy a megfelelő almappába kerüljenek a kiíratások.Tehát a kiírás helye
ChDir "g:\Google Drive\TRANSPORT\"+PathName
A PathName-t itt határozom meg az éppen aktuális/megnyitott munkafüzet neve alapján
PathName = Left((ActiveWorkbook.Name), (Len((ActiveWorkbook.Name)) - 5))
Ha így adom meg, fixen
ChDir "g:\Google Drive\TRANSPORT\MappaNeve"
akkor tökéletesen firkál a MappaNeve-be de ez változó kellene, hogy legyen az ActiveWorkbook.Name => PathName alapján.üdv
-
Fferi50
Topikgazda
válasz
csferke #36923 üzenetére
Szia!
Akkor félreértettem...
A formula, amit írtál rendben van.
Biztosan van olyan mappa, amibe ki akarod íratni a tételeket? Ha nincs, mkdir paranccsal létrehozhatod.
De a kiíráshoz is elég az elérési úttal megadott fájlnév - persze az elérési út legyen az, ahova ki szeretnéd íratni.Üdv.
-
csferke
senior tag
válasz
Fferi50 #36922 üzenetére
Szia!
Az 1.-re adott válaszod OK. Köszi.A 2.-ban viszont a PathName nevet én adtam (az aktív munkafüzet neve, kiterjesztés nélkül)
PathName = Left((ActiveWorkbook.Name), (Len((ActiveWorkbook.Name)) - 5))
és ez alapján kellene meghatározni/megváltoztatni a mappát (elérési útvonalat) ahová majd szeretnék adatokat kiíratni ChDir amely nem ugyanaz mint az aktuális mappa.ChDir "g:\Google Drive\TRANSPORT\" & PathName
üdv
-
Fferi50
Topikgazda
válasz
csferke #36921 üzenetére
Szia!
1.A modul elején - az eljárásokon kívül - kell deklarálni a Public változót:
Public PathName As String
űA makrókban pedig Modulnév.PathName formátumban kell hivatkozni rá - más modulokban levő eljárások is látják ebben a formában hivatkozva.
2.Ha az elérési utat szeretnéd megkapni, akkor a Workbook.Path tulajdonságát kell lekérdezned - vagy a FullName tulajdonságot - ebből viszont le kell csípni a Nevét.Az hogy angol az Excel, a VBA-t nem befolyásolja, nemzetközi módon egyformán kell kódolni minden verzióban.
Üdv.
-
csferke
senior tag
Sziasztok!
Két kérdésem lenne az alábbi kód-al kapcsolatban.Sub utvonal()
Dim PathName As String
PathName = Left((ActiveWorkbook.Name), (Len((ActiveWorkbook.Name)) - 5))
MsgBox PathName
ChDrive "G"
ChDir "g:\Google Drive\TRANSPORT\" & PathName
MsgBox ActiveWorkbook.Path
End Sub1. A létrehozott PathName változót hogyan lehet Public-nak definiálni, hogy másik macró is tudja értelmezni, használni?
2. A ChDir végére hogyan kell odailleszteni a PathName-t, hogy működjön is.
Angol Excel 2007
köszi
-
spe88
senior tag
Hello!
Adott 1 sor 200 oszlop! Melyik képlet mondja meg, hogy a 200 cella közül van-e olyan, ami egynél nagyobb?
Olyan kéne, ami nem nagyon hosszú, mert Ha fv-nyel persze menne, de míg beírja az ember. Biztos van egyszerűbb. (Meg aztán a 255 karaktert se haladhatom meg.)tx
-
the radish
senior tag
Sziasztok!
Excelből kéne txt formátumban kinyernem pár sort, de a következő problémába ütköztem:
Manuális mentés esetén:2017.03.11 szombat
Makróval megoldva:3/11/2017 Saturday
Ráadásul a pénznem is $ lett.A makró:
ActiveWorkbook.SaveAs Filename:="D:\bvo.txt", FileFormat:=xlUnicodeText _
, CreateBackup:=FalseMeg lehet oldani azt valahogy, hogy maradjon az eredeti formátumban?
Előre is köszönöm.
-
HREH
senior tag
Sziasztok!
Lehetséges valahogy másodperc formátumot nap:óra:perc:másodperc formátumra konvertálni?
Pl. ha108073
-at írok be egy cellába, akkor írja át1:06:01:13
-ra. -
ipij
csendes tag
Sziasztok.
Egy szövegként csatolt külső adatot az alábbi formátumban tudom megjeleníteni egy excel cellában:
=RSLINX|PLCA!'AA_50000_T3,L1,C1'
így működik és megfelelő gyorsasággal frissül.A csatolt adatot makrón keresztül szeretném beírni egy cellába, de sehol nem találom, hogy hogyan kell megadni makróban a külső csatolt adat forrását.
(Az működik, hogy a cella értékét másolom, ahova a csatolt adatot beolvastatom, de akkor meg a cella értéke lassabban frissül a szükségesnél.(
Az is megoldás lehetne, ha a makró futása közben is tudnám a cella értékét frissitetni.
Remélem érthető voltam.
Előre is köszönöm a segítségeteket.
Üdv:
ipijani -
Játékos
addikt
válasz
Apollo17hu #36883 üzenetére
Köszönöm a választ neked is, meg föccer-nek is.
Ezek szerint nem kivitelezhető egyszerűen, hogy egy mezőben lévő számokat több számnak értelemezze az Excell? Valamivel elválasztva, vagy új sorban, vagy nem tudom...
Köszi még egyszer! -
csferke
senior tag
válasz
Delila_1 #36887 üzenetére
Szia!
Gombon jobb klikk, Makró-hozzárendelés. A feljövő listából kiválasztod a megfelelő makrót, OK.
Na ez nem működött.Sőt nem lehetett új ActiveX gombokat kirakni sem.
AZ AGYAMAT ELDOBOM !!
Jelezte a win, hogy szeretne valamiket frissíteni (win, office ...). Nem szívesen, de engedtem. És láss csodát, mindenféle "trükközés" nélkül mostmár futnak a gombokhoz rendelt macrók -
spe88
senior tag
Hello!
Ha egy fájlkiterjesztéshez meg van adva egy adott program Windowsban, akkor az Excel miért másik programmal akarja megnyitni?
saját hálózaton lévő MHTML fájlra mutató hiperhivatkozást csak, akkor nyit meg az Excel, ha feltelepítem az IE-t és abban megnyitja. Ha nincs IE hibát dob és nem nyitja meg Chrome-ban. Ha belehúzom a fájlt Chrome-ba tökéletesen egy pillanat alatt megjelenik, de Excelből nem hajlandó vele megnyitni.
Feltelepítettem az IE-t, de az olyan lassan nyitja meg a "saját" fájltípusát, hogy siralom. Nem viccelek egy MHTML fájl megnyitása akadásmentes görgetés eléréséig 1 perc. Chrome-mal 1 mp.
Van valakinek tippje?
Köszi
Új hozzászólás Aktív témák
Hirdetés
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- Bomba Ár! Dell Latitude 3190 - Intel N4120 I 4GB I 128GB SSD I 11,6" HD I Cam I W11 I Garancia!
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Xiaomi Redmi Note 11 Pro+ 128GB, Kártyafüggetlen, 1 Év Garanciával
- Targus Universal USB 3.0 DV1K-2K Compact docking station (DisplayLink)
Állásajánlatok
Cég: FOTC
Város: Budapest