Kezdőlap › Fórumok › Excel témák › [Resolved] Írányított kitöltés
- This topic has 20 hozzászólás, 3 résztvevő, and was last updated 1 year, 4 months telt el by NIN.
-
SzerzőBejegyzés
-
2023-06-06-19:49 #9952
Sziasztok!
Segítséget szeretnék kérmi.
Létezik olyan megoldás excelben – képlet – , ami a következő megoldást adja:
Pl.: „A1” + „B1” cella értékét, a „C1” cellában összeadva „C1″=”A1″+”B1” az eredményt egy msáik általam meghatározott cellába írja ki. Pl.: az „F1” cellába
„F1” cellában nem lehet képlet! Csak az eredmény jelenhet meg.
Munkafüzet VBA mentesnek kell lennie.
Segítséget előre is köszönöm!
Üdvözlettel: Nagy Ivo Norbert
2023-06-07-02:31 #9954Szia NIN!
Munkalap függvények nem tudnak másik celláknak értéket adni, csak saját maguk értékét változtatják meg.
Mi az oka annak, hogy az „F1” cellában nem lehet képlet? Ha erre válaszolsz esetleg találunk „kerülő megoldást” …üdvözlettel
verax2023-06-07-04:54 #9956Szia verax!
Köszönöm, hogy foglakozol a kérdésemmel.
Amit szeretnék, azt a csatolt képen mutatnám meg.
Az „A” oszlop kitöltése után, a „B” oszlopban beállítom – számszerüsítve ( 0-3 , vagy ha a 0 nem értelmezhető, akkor 1-4 ig – , hogy a „C” oszlophoz képest mennyivel tolja el és írja ki az „A” oszlopban szereplő szöveget.
Egy parametrizálható eltolást szeretnék.
Rajzszámok és a hozzájuk tartozó adatok struktúrális kialakítása a cél.
Sajnos, ha képlettel oldom meg, akkor a mintakép szerint látható módon / felső része / betakar a jobbra lévő cella képlete.
Ahogyan szeretném az a csatolt mintakép alsó részén látható.
ezzel próbálkoztam :
=HA(OSZLOP(C:W)-$D4=1;$B4;””)
Több fórumon is érdeklődtem a megoldás felől, eddig csak VBA megoldást említettek. Talán megoldható képlettel is.
Amennyiben csak VBA megoldás lehetséges, azt is megköszönném!
u.i.: „F1” csak egy példacella.
Előre is köszönöm segítséged!
Üdvözlettel: NIN
- A hozzászólás módosításra került: 1 year, 4 months telt el-NIN.
Attachments:
You must be logged in to view attached files.2023-06-07-06:53 #9959Szia!
Több leírást adtál a feladatra, én erre írtam egy makrót:
Az “A” oszlop kitöltése után, a “B” oszlopban beállítom – számszerűsítve ( 0-3 , vagy ha a 0 nem értelmezhető, akkor 1-4 ig – , hogy a “C” oszlophoz képest mennyivel tolja el és írja ki az “A” oszlopban szereplő szöveget.Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 And Cells(Target.Row, 1) <> "" And IsNumeric(Target) Then Application.EnableEvents = False Cells(Target.Row, 3 + Target.Value) = Cells(Target.Row, 1) Application.EnableEvents = True End If End Sub
Beírod az A oszlopba a szöveget. Mikor az azonos sor B oszlopában megadod az eltolás mértékét, a C-hez képest annyi oszloppal jobbra is megjelenik az A oszlop szövege.
A makrót a lapodhoz kell rendelni. Lapfülön jobb klikk, Kód megjelenítése. Ezzel belépsz a VB szerkesztőbe. A jobb oldalon lévő üres mezőbe bemásolod a fent megadott makrót.Delila
2023-06-07-12:48 #9961Szia NIN!
Delila kódja egyszerű és nagyszerű. Néhány apró változtatást javasolnék:
1. Az Application.EnableEvents sorok elhagyhatóak
2. Hasznos lenne egy ClearContents utasítással a cellába írás előtt takarítani.
3. … (a csatolt példa szerint)További kérdésem: Mi a célod azzal. hogy az „A” oszlopban lévő szöveget átmásolod / áthelyezed ?
(ezt sem tisztáztuk
Tehát:
1. az „A” oszlopban is megmarad a szöveg és egy másolata keletkezik ugyanazon sor másik oszlopában (?)
2. a hivatkozott érték „A” oszlopból törlődik és ugyanazon sor „B” oszlopában meghatározott eltolással egy másik oszlopban, egyetlen új helyen jelenik meg (?)
)Igen írtad: „Rajzszámok és a hozzájuk tartozó adatok strukturális kialakítása a cél.”
A csatolt példán a rajzszám lenne az „Alma” és a hozzá tartozó adatok a „Körte-Banán” ?A cellákban elhelyezett Megjegyzésekhez, esetleg Adatok – Érvényesítés – Figyelmeztető üzenetként tárolt adatokhoz mit szólnál?
Csatolok egy példát. Nézegesd! 😉üdvözlettel
veraxAttachments:
You must be logged in to view attached files.2023-06-07-15:58 #9963delila, verax! Köszönöm szépen a megoldásokat! Működik mindkettő!
Sajnos belefutottam egy új problémába, ami már többször előjött VBA esetében.
Ez pedig a következő. VBA-t csak manuálisan beírt eredménnyel tudom elindítani. Pl .: a „C1” cellába beírt adattal (0,1,2,3 )/ számmal.
Amikor képletet írok a „C1” cellába, és annak eredménye adja vissza a 0,1,2,3 számokat – az eltoláshoz -, abban ez esetben nem indul el a VBA.
Sajnos többször belefutottam ebbe a problémába. Ettől függetlenül, nagyon köszönöm a segítséget!
verax! nem akarom a fórumot oldalát terhelni a rajzszámos dolog kifejtésével. Természetesen szívesen megosztom. Leírom egy world be és csatolm egy következő bejegyzésemhez. Szép napot: NIN
2023-06-07-16:23 #9964NINnek
Igen, el lehet hagyni az Application.EnableEvents sort, és a visszaállítását, de nem érdemes.
Stoppold le az első sort, majd a B oszlopba íráskor lépésenként futtasd a makrót.
Mikor a makró beírja a nevet a megfelelő oszlopba, előről indul, mivel a Cange eseményre ezt kell tennie. Igaz, a feltételnél nem csinál semmit,
mert nem a B oszlopban volt most a csere. Ezután újra indul a futás, ott folytatva, ahonnan kilépett.
Ha letiltod, majd a feladat végeztével újra engedélyezed az esemény kezelését, megspórolhatod ezt a kört.2023-06-07-17:16 #9965delila! Nagyon köszönöm a részletes útmuatást!
Sajos, én ott elveszítettem a fonalat, hogy „Stoppold le az első sort, majd a B oszlopba íráskor lépésenként futtasd a makrót.”
Egyenlőre ez nekem „magas”!
Rajzta vagyok a VBA tanulás útján, de épp csak elindultam…
Nem adom fel!
Köszönöm a segítséged! Üdvözlettel: NIN
2023-06-07-18:17 #9966Kérdések:
1. „C1” cella képletének hol vannak az előzményei?
2. „C1” cella (és társai) minden esetben képletet tartalmaz(nak)?Válaszok:
1. Azokat a cellákat kell figyelni, amelyek a „C1” cellában lévő képlet értékének változását előidézik, vagy …
2. segíthet a Worksheet.Calculate() eseménye is. Ez utóbbit is a (példa szerinti) „Munka1” munkalap kódlapjára kell elhelyezni, ahogyan a Worksheet_Change() esemény kódját.3. De nemes egyszerűséggel elhelyezhetsz valahová egy nyomógombot és kattintással indítod a kódot.
2023-06-07-18:31 #99671/a Kattints a kód If Target.Column …. sorára jobb gombbal.
1/b Áll rá a kód If Target.Column …. sorára és nyomd meg a helyi menüt hívó billentyűt a billentyűzeten. (nálam a jobb oldali Ctrl-tól balra van)2. A megjelenő helyi menüből válaszd a „Toggle” parancsot majd a „Breakpoint”-ot. Ezzel egy töréspontot helyeztél el ebben a sorban. Itt meg fog állni a kód futása. Innentől az [F8] billentyű nyomogatásával tudsz egyesével tovább lépni a további sorokon. Így lehetőséged nyílik arra, hogy lépésről -lépésre megfigyeld, hogy mi is történik.
3. Amikor eleget láttál, csak kattints a jelölésre és már el is tűnik.
2023-06-07-19:04 #9968Még egyszerűbb stoppolás:
A Sub sornál a bal oldalon lévő szürke sávra kattintasz. A teljes sor barna hátterű lesz, és csak akkor halad tovább a makró futása, ha F8-at nyomsz.2023-06-07-20:31 #9969verax!
Csatoltam az ígért leírást.
Ha esetleg a leírásban található kérésben tudnál segíteni hálás lennék.
Neked, és „delila” nak a segítséget!
Üdvözlettel NIN
- A hozzászólás módosításra került: 1 year, 4 months telt el-NIN. Indok: .rar helyett .zip
Attachments:
You must be logged in to view attached files.2023-06-08-04:13 #9974Hoztam egy példát az eredeti kéréshez. Szöveg áthelyezése makró nélkül, képlettel… és nincs takarás sem.
Ehhez mit szóltok? 😀üdvözlettel
veraxAttachments:
You must be logged in to view attached files.2023-06-08-05:40 #9976Szia verax!
Tökéletes!!!! Nagyon ötletesen oldottad meg! Már át is alakítottam a sorszélességet.
Mégegyszer köszönöma a megoldást!
Üdvözlettel: NIN
2023-06-08-17:06 #99772023-06-09-04:19 #9979Verax ! Nagyon köszönöm!
Egy pár napot kérek, hogy feldolgozzam ezt a rengeteg információt! Nagyon korregt megjegyzésekkel egészítetted ki a VBA -kat!
Köszönöm! Üdvözlettel: NIN
2023-06-10-21:47 #9981verax!
Szia! Átrágtam magam az „csomagodon”
Módosítottam, ahogy írtad.
Sajnos nem tökéletes – ez az én ügyetlenségem lesz -, ha megnéznéd a csatolt mappát és megszakértenéd, nagyon megköszönöm!
Van benne egy leírás is, abban összeszedtem a tapasztaltakat.
Mégegyszer köszönöm előre is!
Üdvözlettel: NIN
2023-06-10-21:56 #99822 MB korlát miatt 4 részre szedtem
1. részlet
Attachments:
You must be logged in to view attached files.2023-06-10-21:56 #99842023-06-10-21:56 #99862023-06-10-21:57 #9988 -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.