2417
megoldást keresek erre a problémára
-
#2215 Nálam is úgy jött le, ahogy írtad. -
#2214 Biztos? A múlthavi jó fájlok sem nyílnak meg most. (OTP) -
#2213 A bank (BB) a hunyó.
Utoljára szerkesztette: Delila1, 2016.08.02. 06:39:56 -
#2212 Sziasztok!
Fura hibát észleltem. A bankomtól minden hónapban le szoktam menteni a számlatörténetet excel-be (.xls). Eddig mindig sikerült, de ebben a hónapban nem megy. Illetve letölti, de csak egy üres, szürke, lapfülek nélküli fájlt tölt be és a fenti parancsok is inaktívak. Sőt, az előző hónapokban lementettek is így töltődnek be, pedig azok eddig jók voltak. Ha elküldöm őket gmail-en, majd megkapom, ott a gmail meg tudja helyesen nyitni.
Más .xls fájl működik. Előző a hónapban nem volt Office frissítés(tudtommal) ami bekavarhatna. Két itthoni gépen próbáltam, ugyanaz a hiba.
W7 Pro-t használok és Office 2010-et.
Köszönöm,
lalakov -
Elnora #2210 Végülis azzal oldottam meg, hogy abban a táblában, ahol a keresendő értékek vannak hetenként oszlopokban, ott bevezettem egy segédoszlopot, amire hivatkozik a képletem, és ami fkeres + hol.van fv-ek segítségével mindig felveszi a keresett hét értékeit. ;o) -
Elnora #2209 Hali!
Na, kihívások a köbön. :)
Az alábbi képletem van:
INDEX('[NK konti vezénylés.xlsx]2016'!$1:$1048576;HOL.VAN($B4;'[NK konti vezénylés.xlsx]2016'!$C:$C;0);HOL.VAN($V$2;'[NK konti vezénylés.xlsx]2016'!$2:$2;0))
A C:C oszlopban rendszámok vannak, a 2:2 sorban pedig dátumok
Viszont a C:C oszlop nem fix, mert a 19.héten a B oszlop, a 20. héten a C, a 21. héten a D oszlop, és így tovább.
Hogy tudom a HOL.VAN függvényben a tábla paramétert dinamikussá tenni úgy, hogy az egész önállóan változzon annak függvényében, hogy egy külső cellában milyen dátumértéket adok meg?
Tehát igazából a $C:$C rész kellene cserélnem valahogy dinamikusra...
Valakinek valami tipp?
Ezt is képlettel, VBA nélkül kellene megoldani....
-
#2208 -
Elnora #2207 Köszi. A példám azért jócskán le volt egyszerűsítve, sajnos segédtábla kilőve, egy 80 (rendszámok) x 500-as (dátumok) táblából dolgozom, ahol random össze vannak vonva 2-5 cellák némely sorokban. (ahol az adott rendszám több napig dolgozik egy fuvaron)
Én adott rendszám + dátum kombináció értékét keresem index + hol.van függvényekkel operálva.
És itt jött az elő, hogy a több napos túrák esetében csak az első napra ad információt.
És ráadásul abszolút alapszintű felhasználják a táblát, a lehető legkevesebb karbantartandó dologra van szükségem. XD
Szóval úgy néz ki, egyszerűen sehogy sem megoldható...
Köszi mégegyszer minden gondolkodásod! :) -
#2206 áthidaló ötlet esetleg:
minta
.. jobb fölső sarok "..." alatt van a download link
az első sorban vannak az értékek
a második csak azt mutatja, hogy melyik az utolsó olyan oszlop ahol érték volt
a harmadik pedig a 2. sor értékei alapján írja ki az első sorból vett értéket
Utoljára szerkesztette: norbre, 2016.05.11. 13:39:41 -
Elnora #2205 Én is erre jutottam, csak bíztam, hogy hátha valaki más okosabb nálam.
VBA-ban biztos voltam, hogy megoldható, csak azt nem szívesen csinálnám. De aztán lehet, hogy ráveszem magam. ;o) -
#2204 Az egyesített celláknál mindig az első cellából lehet az értéket kinyerni, ez esetben ez olyan mintha az A1 "letakarná" a B1, C1 cellákat amikben amúgy nincs érték.
Ha jól értem és azt szeretnéd hogy a B1, C1 re hivatkozva is kapj értéket, szerintem az nem fog menni képlettel.
Egy kis VBA segítség -
Elnora #2203 Sziasztok!
Adva van egy vízszintesen egyesített cellám, mondjuk A és C oszlop között az 1. sorban.
A cella tartalmaz értéket.
Ha az A1-es cellára hivatkozom, akkor az egyesített cella értékét kapom meg.
Viszont ha a B1-re, vagy C1-ra (vagy bármi más későbbi oszlopra) hivatkozok, akkor már 0 értéket kapom eredményül.
No most a problémám, hogy az egyesített cella bármely részére is hivatkozok, én az egyesített cellák tartalmát szeretném megkapni. Erre van valami megoldás-ötletetek?
Előre is köszönöm! -
GImre70 #2202 Sziasztok. A gyakoriság() nevű függvénnyel kapcsolatban kérdeznék. Van valamilyen szempont/támpont amely szerint a csoport tömb elemeit ki lehet választani? mert nekem sajnos mindig elég nehéz meghatározni az elemeit.
Előre is köszönöm. -
#2201 Szívesen. :) -
Tyco73 #2200 Köszi. Erre gondoltam. Csak ez a For Each megoldás nem jutott eszembe. -
#2199 Igazad van, elég, ha a szűrt állomány tagjain megy végig. Az A1 címsor, azért indítom A2-ből.
Sub Szurt_adatok()
Dim ter As Range, CV As Range
Set ter = Range(Range("A2"), Range("A" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible)
For Each CV In ter
Range("B" & CV.Row) = 2 * CV
Next
End Sub
-
Tyco73 #2198 Köszi a gyors választ. Ezek szerint csak úgy lehet megoldani, hogy a ciklus végigfut mind az 1000 soron és nem csak mondjuk azon a 20-on ami látszik. -
#2197 Az A1:A1000 tartomány szűrt adatait vizsgálja, a látható cellák hátterét pirosra festi.
Sub Szurt_adatok()
Dim sor As Long
For sor = 1 To 1000
If Rows(sor).Hidden = False Then
Cells(sor, 1).Interior.Color = vbRed
End If
Next
End Sub
-
Tyco73 #2196 Sziasztok!
Makróval kapcsolatos kérdésem lenne:
egy autószűrővel leszűrt listán hogy tudok egy ciklust végig futtatni ami csak a látható sorokból olvas ki vagy módosít egy cellát? -
Storey #2195 Ennek továbbra is az a baja, hogy ha csak egy, vagy két féle érték van az oszlop soraiban, akkor az egyikből kettőt tesz be (és nem mindig van 3 féle adat. Lehet egy vagy kettő féle is, ez változó). Másik probléma még, hogy amikor másolja az adatokat sajnos az alatta lévő sorokban lévő dolgokat is törli, és azt nem kellene.
Mindenesetre köszi! -
#2194 Egy másik megoldás, ahol a B5:B8 tartományt másoljuk a CC1:CC4-be, majd a szűrés végrehajtása után innen illesztjük be a B5:B8-ba az eredeti formátumot.
Sub Szures()
Range("B5:B8").Copy Range("CC1")
Range("B6:B8").ClearContents
Range("G9:G69").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("B5"), Unique:=True
Range("CC1:CC4").Copy
Range("B5").PasteSpecial xlPasteFormats
End Sub -
#2193 Sub Szures()
Range("B6:B8").ClearContents
Range("G9:G69").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("B5"), Unique:=True
Range("B5:B8").Interior.ColorIndex = -4142
End Sub
A makrót egy gombhoz rendelheted. -
Storey #2192 Sajnos ezzel egyáltalán nem boldogulok. Van amikor két ugyanolyan adatot 2x ír be, máskor egyszer sem írja be, és nem is tudom automatikusan elindítani, úgyhogy más megoldást kell keresnem. -
#2191 A szűrés után a 3 cella formátumát megadhatod, akár makróval. -
Storey #2190 Kipróbáltam, és működik is, de sajnos a formátumot is átviszi, és így nekem nem jó.
De köszi szépen a segítséget. -
#2189 Erre való a speciális szűrés.
A G9-be írj címsort, amit másolsz a B5-be. Beállsz a G9-be, majd hívod az Adatok | Rendezés és szűrés | Speciális menüt.
Paraméterek: Más helyre másolja, Listatartomány G9:G69, Hova másolja: B5, Csak az egyedi rekordok megjelenítése. -
Storey #2188 Bocsi: Én nem fogalmaztam egyértelműen.
Tehát. Az oszlopban maximum 3 féle adat szerepelhet(de lehet egy vagy két féle is). Azt szeretném, hogy ez kerüljön föl a B6-B9-es
cellákba. Ha csak egy féle van, akkor egy, ha kettő, akkor 2 és így tovább. Természetesen mindegyikből csak egy, úgy hogy mindenféleképp a B6os cellában induljon. Az is fontos még, hogy az legyen a B6-os cellában, amelyik az oszlopban is feljebb van, aztán a B7-ben a következő már ettől különböző adat és így tovább.
Remélem így már egyértelmű.
Előre is köszi.
Utoljára szerkesztette: Storey, 2016.03.15. 16:10:23 -
#2187 Nem nagyon értem, ha 3 féle adat van a G oszlopban, akkor miért kell hármat választani közülük véletlen szerűen? Csakis ugyanazt a hármat választhatod minden esetben.
Sub Harom()
Dim sor As Integer, ide As Integer
ide = 6
Do While ide < 9
Ujra:
sor = Round(Rnd() * (69 - 10) + 10, 0)
If Application.WorksheetFunction.CountIf(Range("B3:B6"), Cells(sor, "G")) = 0 Then
Cells(ide, "B") = Cells(sor, "G")
ide = ide + 1
Else
GoTo Ujra
End If
Loop
End Sub
Ügyelj, hogy az Ujra címke a sor elején legyen. Nagy kár, hogy itt nem lehet tabulátorral tagolni a bemásolt makrót.
Utoljára szerkesztette: Delila1, 2016.03.15. 14:03:26 -
Storey #2186 Üdv!
Ismét segítségre lenne szükségem makróval kapcsoltban.
Szöveges adatok találhatók egy munkafüzet G10-G69-es tartományában. Maximum 3 féle adatról van szó, (Mondjuk nevekről) de
teljesen összekeverve vegyesen. Szeretnék ezek közül mindegyikből egyet-egyet(természetesen különbözőeket) kiválogatni, és az adott munkafüzet B6-B8-as celláiba másoltatni. Tudom, hogy képlettel ez teljesen jól megoldható, de én mindenképp makróval szeretném csinálni.
Előre is köszi! -
#2185 Szívesen. -
Storey #2184 Tökéletes!
Nagyon szépen köszönöm! -
#2183 Sub Masolas()
Dim utvonal As String, WSE As Worksheet
Dim usor As Long
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set WSE = ActiveWorkbook.Sheets(1)
utvonal = ActiveWorkbook.Path & "\"
Workbooks.Open Filename:=utvonal & "Az új munkafüzet neve.xlsx"
usor = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
Range("A8:C" & usor).Copy
WSE.Range("D10").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
-
Storey #2182 Az újonnan ("Az új munkafüzet neve") megnyitott munkafüzetből akarok másolni adatokat az A, B, C oszlop 8. sorától kezdődően, addig, amíg a sorok adatokat tartalmaznak, és ezt az adathalmazt szeretném beilleszteni az eredeti (a makrót tartalmazó) munkafüzet, D10 cellájától kezdődően, lefelé, a D, E, F oszlopokba. -
#2181 Melyik füzetből melyikbe akarsz másolni?
Az eredetiből (a makrót tartalmazóból) "Az új munkafüzet neve" nevűbe, vagy fordítva?
Melyik területet a másik füzet melyik területére? -
Storey #2180 Sziasztok!
Kis segítségre lenne szükségem. Szeretnék megnyitni egy új excel munkalapot, majd abból adatokat importálni.
A megnyitás sikerült, de sajnos nem tér vissza az eredeti munkafüzetbe, hogy ott az adatokat beillessze.
Mit csináltam rosszul?
Sub Megnyitás()
Dim usor%
Application.ScreenUpdating = False
Application.DisplayAlerts = False
usor% = Range("E9").End(xlDown).Row
utvonal = ActiveWorkbook.Path & "\"
Workbooks.Open utvonal & ("\") & ("Az új munkafüzet neve")
Range("A8:C" & usor%).Copy
Worksheets(1).Select
Range("E10").PasteSpecial Paste:=xlPasteValue
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Előre is köszi! -
#2179 Szívesen. Örülök, hogy összejött. -
Storey #2178 Nagyszerű!
Köszönöm szépen!
Örök hála! :) -
#2177 utvonal = ActiveWorkbook.Path & "\"
Sheets("Munka1").Copy
Cells.Copy
Range("A1").PasteSpecial xlPasteValues
ActiveWorkbook.SaveAs Filename:=utvonal & "Füzet_neve.xls", FileFormat:=xlExcel8
ActiveWorkbook.Close
-
Storey #2176 Köszi!
Majdnem jó, de 2 problémám van vele.
1: Nekem . XLS formátumban kelle az új munkafüzet. Jelenleg .XLSX-ként menti.
2: A számítógép Dokumentumok mappájába teszi az új munkafüzetet, Nekem az kellene, hogy abba a mappába mentse, amelyikben az eredeti munkafüzet található!
Illetve még egy kérdés. Hogyan tudom ugyanebben a makróban megadni az új munkafüzet nevét?
Előre is köszi!
-
#2175 Sheets("másolandó lap neve").Copy
Cells.Copy
Range("A1").PasteSpecial xlPasteValues
ActiveWorkbook.Save
ActiveWorkbook.Close
Az első sor átmásolja egy új füzetbe a lapot, és az új füzetet teszi aktívvá. A cells.copy másolja az összes cellát, a köv. sor beilleszti az értéket. A két utolsó ment és zár.