Kezdőlap › Fórumok › Excel programozás › ciklussal adatokat a másik munkafüzetbe
- This topic has 2 hozzászólás, 3 résztvevő, and was last updated 11 years, 11 months telt el by
lndz.
-
SzerzőBejegyzés
-
2014-03-17-10:45 #1403
Sziasztok!
Ki tud segíteni? Kigyűjti a makró az adatokat egy munkalapra, majd ezeket kellene átteni egy másik munkafüzetbe, csakhogy a munkafüzet adatoktól függően mindig más és más. A ciklus amivel át szeretném tenni az adatokat csak úgy működik, ha meghatározom a munkafüzet nevét, ahova az adatok kerülnek. Hogyan lehet úgy meghatározni a munkafüzet nevét, hogy az legyen pl egy cellában megjelenő név? Mert akkor megjelenítem az adatokhoz tartozó munkafüzetnevet az egyik cellában.
Kissé bonyolultan hangzik, de valójában csak a változóként meghatározható munkafüzetnév definiálása volna szükségem.
Üdv: Juzsi2014-03-18-14:28 #1404Szia!
Egy cellába beírod a munkafüzet nevét, majd onnan kiolvasod egy változóba.
Javaslom, hogy a neve tartalmazza a kiterjesztést is.
Pl.: ha A munkafüzet neve a D1-ben van, akkor írhatsz ilyet, hogy:valtozo=Range(„D1”).value
Mentéskor vagy megnyitáskor a teljes útvonalra szükség lesz, mert ha nem definiálod, akkor az aktuális munkakönyvtárba ment, vagy ott ker3esi a megadott nevű fájlt, ami nem biztos, hogy jó.
De ez már egy másik történet.Imre
2014-03-19-07:41 #1405Sziasztok!
Az kérdés nekem, hogy mitől függ, mi lesz a munkafüzet. Nem lehet ezt valahogyan algoritmizálni (jól megválasztott fájl neveken keresztül)? Esetleg, ha új a munkafüzet, lehet nevet generálni neki. Az is kérdés számomra, hogy nyitva van-e vagy sem? Ha tudsz írni egy formot, akkor feldobhatja egy listában a megnyitott munkafüzeteket, ahonnét ki tudod választani futás közben, vagy feldobhatsz egy valamilyen open file dialogust is, ha zárva van, aminek a visszatérési értéke lehet a munkafüzet neve. Az is lehetőség, hogy mindig az aktív munkafüzetbe írjon ki, ha tudod úgy alakítania a programod. Ha az Imre által javasolt megoldást választod, ami kétségtelenül praktikus, érdemes a változó értékadásakor megadni a munkalap nevét is, sőt ha szükséges valahogy a munkafüzetét is, ahol a nevet tárolod.
valtozo = ThisWorkbook.Sheets(1).Range(„D1”)
Üdv,
LZ -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
