-
Fototrend
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
Mr.Scofield
#23663
üzenetére
Szia!
Egyszerű: azért, mert torlo makródban cellánként törölsz és alapesetben ez azzal jár együtt,hogy a törölt cella helyére becsúszik a következő cella, jelen esetben az A helyére a B, a B helyére a C, de ugye Te utána az A-cellát már nem törlöd mégegyszer, csak a B-t és ilyenmódon a C törlése már teljesen felesleges is, mert abban már régen nincs is adat. (Próbáld ki manuális törléssel, hogy lásd, miről is beszélek.)
Megoldás: töröld egyben a 3 cellát, vagy töröld 3 x az A oszlopban levő cellát.
Egyben törlés: Sheets("Adatok").Range(Sheets("adatok").Cells(sorszam, "A"), Sheets("adatok").Cells(sorszam, "C")).DeleteDe még jobb szerintem, ha csak a tartalmat törlöd: cells(sorszam,"A").clearcontents, de ezt is csinálhatod egyszerre mindhárom cellán.
Üdv.
-
Delila_1
veterán
válasz
Mr.Scofield
#23648
üzenetére
-
Mr.Scofield
újonc
válasz
Mr.Scofield
#23647
üzenetére
Már megvan.

-
Fferi50
Topikgazda
válasz
Mr.Scofield
#23641
üzenetére
Szia!
Akkor ez így mégis makró lesz a Userformhoz. és a törlést is meg kell valósítanod.
Üdv.
-
Delila_1
veterán
válasz
Mr.Scofield
#23641
üzenetére
3 féle választ kaptál, amiből már az újonnan feltett két gomb makróját kikövetkeztetheted.
Módosításnál a textboxok (cellák?) értékeit beviszed az adatokat tartalmazó cellákba
Sheets("Munka1"). Range("A" & sor)=TextBox1Törlésnél sheets("Munka1").Rows(sor).Delete Shift:=xlUp
-
Fferi50
Topikgazda
válasz
Mr.Scofield
#23637
üzenetére
Szia!
Még egy lehetőség makró nélkül:
A második munkalapnak azt a celláját, ahová a nevet szeretnéd látni, kijelölöd, majd az Adatok- érvényesítés menüpont alatt az érvényesítés legyen lista, a forrása pedig az első munkalap név oszlopának értékes cellái. (még jobb, ha ezt a cellatartományt elnevezed és csak a nevet írod be).
A két másik adatot tartalmazó cellát fkeres függvénnyel tudod kitölteni.
Ennek is az a hátránya, hogy magától nem fordul vissza. Viszont a listát akár egészében is láthatod a kiválasztás során.Üdv.
-
Delila_1
veterán
válasz
Mr.Scofield
#23637
üzenetére
Harmadik megoldás, nem userform, de nem is makró nélkül.
Nem írtad az Excel verzióját, ezért 2003-ban írtam meg, azt mindegyik érti.A Kiírás lapon a kitöltendő mezők nem textboxok, csak formázott cellák.
-
slashing
senior tag
válasz
Mr.Scofield
#23637
üzenetére
Makró nélkül is majdnem meglehet csinálni csak nem teljesenolyan lesz olyan mint ahogy leírtad. (elején végén nem fog visszaugrani)
A második lapra beszúrsz egy léptetőnyílt űrlapvezérlő elemet. Cellacsatolásnak megadsz egy olyan cellát amit biztosan nem fogsz használni kezdőértéknek meg 1-et adsz.
Oda ahova nevet szeretnéd megjeleníteni oda meg csinálsz egy indirekt hivatkozást:
=INDIREKT("Munka1!A"&F19)
Ebben a képletben az F19 az a cella amit megadsz a léptetőnyíl cellacsatolásának. Így az alapértéke a celládnak a Munka1 A1 lesz a nyilakkal lépkedve meg változik a Név. A másik két oszlopra meg elég egy sima fkeres függvény is...
valahogy így: [link]
-
Fferi50
Topikgazda
válasz
Mr.Scofield
#23637
üzenetére
Szia!
A formot már megvan? Akkor tegyél fel legalább egy képet róla, hogy lehessen látni, mi van benne.
A makró elvi vázlata:
a rekordokat számolja egy változó
amikor megjeleníted a userformot (activate exemény), a rekordszámláló változó legyen egy, utána meghívsz egy olyan eljárást amelyben kitöltöd az első szövegmezőt az A oszlop rekordszámlálónak megfelelő sorú cellája értékéve, a másodikat a B oszlop ugyanazon cellája értékéve, a harmadikat a C oszlop ugyanazon cella értékével (rekordbetöltő).
amikor a következő gombot megnyomják (gomb_click esemény) megnézed, hogy a rekordszámlálód elérte-e a huszat. Ha igen, egyre állítod, ha nem növeled eggyel. utána meghívod a rekordbetöltő eljárást.
amikor az előző gombot megnyomják (gomb_click esemény) megnézed, hogy a rekordszámláló érte egy-e, ha igen, húszra állítod, ha nem, akkor csökkented eggyel. utána meghívod a rekordbetöltő eljárást.A rekordsorszámot megadhatod egy publikus változóban, akkor minden eljárás használhatja, amelyik a form kódlapján van.
Üdv.
-
Fferi50
Topikgazda
válasz
Mr.Scofield
#23635
üzenetére
Szia!
A második oldalra tegyél fel egy userformot a megfelelő vezérlőkkel (cimkék, parancsgombok, spinbutton) és írj hozzá megfelelő megjelenítő makrót.
Üdv.
Új hozzászólás Aktív témák
- exHWSW - Értünk mindenhez IS
- Kormányok / autós szimulátorok topikja
- Anglia - élmények, tapasztalatok
- Abarth, Alfa Romeo, Fiat, Lancia topik
- Luck Dragon: Asszociációs játék. :)
- Okos Otthon / Smart Home
- Autós topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Metal topik
- Autós topik látogatók beszélgetős, offolós topikja
- További aktív témák...
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem.
- Microsoft és egyéb dobozos retro szoftverek
- Xbox / Microsoft Store feltöltőkártya kód (digitális, HU) több címlet, több db, azonnal, olcsón
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Autodesk & CorelDRAW - Azonnal - Számlával - Garanciával
- Samsung Galaxy XCover 5 / 4/64GB / Kártyafüggetlen / 12Hó Garancia
- Samsung Galaxy S21+ / 8/128GB / Kártyafüggetlen / 12Hó Garancia
- szinteÚJ Dell 15 i7 1355U 32GB 1TB 120Hz!!!!!!
- ÚJ Lenovo LOQ 17IRX10 - 17.3"FHD 165Hz - i7-13650HX - 24GB - 1TB - RTX 5060 - Win11 - 3 év gari - HU
- Vállalom FRP Lock os telefonok javítását ingyen kiszálással és akár helyszíni javittással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Fferi50