- Nothing Phone (3)-szerű csavart kaphat az Infinix Note 60 Pro kamerablokkja
- Húszmillió mobilara adta ki a Honor a tízparancsot
- Samsung Galaxy A52s 5G - jó S-tehetség
- Reklámok kikapcsolása Xiaomi, Redmi és Poco telefonokon
- iPhone topik
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Samsung Galaxy S25 - végre van kicsi!
- EarFun Air Pro 4+ – érdemi plusz
- Xiaomi 15T Pro - a téma nincs lezárva
- Nokia N8 - vajon elég lesz-e?
-
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
-
Fferi50
Topikgazda
válasz
Misi_D
#45226
üzenetére
Szia!
Egy lehetőség, logikai szinten leírva:
Az első előfordulást beteszed a munkalap következő sorába. A következő előfordulásnál megkeresed, hol van a munkalapon, megnézed a másik változó értéke milyen, ha nagyobb, akkor kicseréled a sort az újra, ha nem, akkor hagyod békében.
Ezt csinálod végig a fájlon.
Előny, hogy akkor is használható, ha a csv fájlban nem sorban vannak az ID-k.
A munkalapon kereshetsz a Range.Find metódussal vagy kereső függvényekkel egyaránt.
A beolvasásnál a kinput változóban a teljes sor kerül. Ebből neked kell meghatározni, hol az id és a számodra szükséges változó adata. Ha tudod, hogy hanyadik oszlopban van, akkor pl. használhatod a Split függvényt, amelyik a megadott határoló (pl. pontosvessző - ; - ) szerint egy tömbbe transzformálja a szöveget. A tömb indexe 0-val indul. Innen már meg tudod kapni a keresett adatokat.
Egy példa:Sub beolvaso()Dim utja As String, fnev As String, kinput As String, fc As Byte, cl As Range, bejott, holvan As Rangeutja = "C:\Users\user\Documents"fnev = "\xxx.csv"fc = FreeFile()Open utja & fnev For Input As #fcSet cl = ActiveSheet.Cells(1, 1) 'az aktív munkalap első cellájába kerül az első adat'ha nem ide szeretnéd, akkor változtasd meg a Cells paramétereitDo While Not EOF(fc)Line Input #fc, kinputbejott = Split(kinput, ";") 'egy tömbbe transzformáljuk a bejött adatot'megkeressük az azonosítót az első oszlopban. Ha nem ide tetted, akkor írd át az oszlop számát'ha nem az input első adata az ID akkor bejott(0) paraméterét írd át a megfelelő oszlopraSet holvan = ActiveSheet.Columns(1).Find(what:=bejott(0), LookIn:=xlValues, lookat:=xlWhole)If holvan Is Nothing Then 'ha még nincs, akkor bejegyezzük az első szabad sorba'cl.Value = kinput 'ez a sor egy cellába tenné a teljes inputotRange(cl, cl.Offset(0, UBound(bejott))).Value = bejott ' így viszont külön cellába kerülnek az értékekSet cl = cl.Offset(1, 0) 'ez lesz a következő üres sor első cellájaElseIf holvan.Offset(0, 2).Value < bejott(2) Then 'ha a változó nem a második az adatok között, akkor'mindkét 2-est írd át megfelelőre - az offset és a tömb paramétere is 0-tól indul.Range(holvan, holvan.Offset(0, UBound(bejott))).Value = bejott 'kicseréljük az újraEnd If'MsgBox kinputEnd IfLoopClose #fcMsgBox "Az input kész!"End SubRemélem, sikerül.
Üdv.
Új hozzászólás Aktív témák
- Rezsicsökkentés, spórolás (fűtés, szigetelés, stb.)
- Melyik tápegységet vegyem?
- Arc Raiders
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- mefistofeles: Az elhízás nem akaratgyengeség!
- Genshin Impact (PC, PS4, Android, iOS)
- Nothing Phone (3)-szerű csavart kaphat az Infinix Note 60 Pro kamerablokkja
- Nem akármilyen új GeForce jöhet idén
- EAFC 26
- Asustor NAS
- További aktív témák...
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Vírusirtó, Antivirus, VPN kulcsok GARANCIÁVAL!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- HP ProDesk 600 G5 i5-9500 16GB 512GB 1 év garancia
- Decathlonos 43-as boxcipő, alig használt, hibátlan állapotban
- Limitált darabszám! Apple Mac Studio M2 Ultra 24 magos CPU, 60 magos GPU, 64GB RAM, 1024GB SSD
- iPhone SE 2020 64GB White-1 ÉV GARANCIA - Kártyafüggetlen, MS4481, 100% Akksi
- 179 - 180 - 189 - 190 - Lenovo LOQ (15IRX9) - Intel Core i7-13650HX, RTX 4060
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Fferi50

