Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Ahoj,
přemýšlím nad jednou věcí. Řekněme, že mám excelovský soubor, kde v prvním sešitu mám data
(např. seznam lidí a informací o nich, co řádek to jeden člověk) a v druhém sešitu něco, do čeho chci ty data dát (např. nějaký formulář).
Mým cílem je pro každého člověka vyplnit formulář jeho údaji. Abych se s tím nemusela moc kopírovat,
tak jsem přemýšlela o makru a naprogramovat to pomocí for cyklu. Konkrétní problém je, že nevím, jak
v makru naprogramovat, aby mi to bralo "pohyblivou" buňku. Resp. dokážu, aby to samo překopírovalo konkrétní buňky, ale nedokážu, aby v jednom cyklu to kopírovalo data z prvního řádku a v dalším cyklu z druhého.
Offline
↑ Pomeranc:
Ahoj, a neznáš konkrétní funkci excelu, která se na buňku (jejíž řádek a sloupec je proměnný) odkáže a nebo nevíš jak to v principu udělat, přestože tu funkci znáš?
Online
Z hlavy me napadaji dve moznosti:
For Each cell in oblast_s_bunkami ... Next
nebo pokud tu oblast neumis jednoduse identifikovat
Set cell = prvni_bunka_oblasti Do While cell.value <> "" ... Set cell = cell.Offset(1) Loop
Offline
↑ check_drummer:
Možná oboje. Ale ono makro a excel sešit trošku jinak funguje. Třeba v sešitu vím, že pokud
chci udělat pevnou buňku, tak nějak vhodně přidám dolary. U makra ale přidávám Range("buňka").
Snažila jsem se také použít funkci Cells (zdálo se, že by se for cyklus na to mohl hodit) , ale z nějakého důvodu mi to nefungovalo.
Offline
↑ Pomeranc: V cem je ten tvuj problem tak specialni, ze by to nemlo jit pouzit? Chces v cyklu prochazet postupne seznam bunek, nebo nechces?
Offline
↑ Pomeranc:
A jak máš Cells použitou? Napiš sem kus svého kódu.
Google radí: Worksheets("Sheet1").Cells(6, 1).Value
Online
Ahoj,
děkuji všem, kteří mi s tím pomohli :) .
Nakonec jsem to vyřešila zhruba následovně:
For i = 3 To 4
ActiveCell.Range("A1:B5").Select
Sheets("Sheet4").Select
Cells(i, 3).Select
Selection.Copy
Sheets("Sheet3").Select
ActiveCell.Range("A1:B5").Select
ActiveSheet.Paste
ActiveCell.Offset(5, 0).Range("A1:B5").Select
Next i
Takže for cyklus jde kombinovat s Cells.
Offline