Matematické Fórum


1. 8. 2026 (L) Fórum bude brzy uzavřeno 😿

Nejste přihlášen(a). Přihlásit

#1 17. 08. 2022 00:49

Pomeranc
Příspěvky: 683
Pozice: student
Reputace:   10 
 

Makro excel

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

  • (téma jako vyřešené označil(a) Pomeranc)

#2 17. 08. 2022 06:41

jarrro
Příspěvky: 5492
Škola: UMB BB Matematická analýza
Reputace:   303 
Web
 

Re: Makro excel

Ahoj. Nepomôže funcia ADDRESS? (Neviem len sa pýtam)


MATH IS THE BEST!!!

Offline

 

#3 17. 08. 2022 08:56

check_drummer
Příspěvky: 5578
Reputace:   106 
 

Re: Makro excel

↑ 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áš?


"Máte úhel beta." "No to nemám."

Offline

 

#4 17. 08. 2022 16:23

Stýv
Vrchní cenzor
Příspěvky: 5711
Reputace:   215 
Web
 

Re: Makro excel

Z hlavy me napadaji dve moznosti:

Code:

For Each cell in oblast_s_bunkami
...
Next

nebo pokud tu oblast neumis jednoduse identifikovat

Code:

Set cell = prvni_bunka_oblasti
Do While cell.value <> ""
...
Set cell = cell.Offset(1)
Loop

Offline

 

#5 19. 08. 2022 19:31

Pomeranc
Příspěvky: 683
Pozice: student
Reputace:   10 
 

Re: Makro excel

↑ jarrro:

Vyzkouším to. Zatím jsem zkoušela použít cells, ale nešlo mi to.

Offline

 

#6 19. 08. 2022 19:35

Pomeranc
Příspěvky: 683
Pozice: student
Reputace:   10 
 

Re: Makro excel

↑ 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

 

#7 19. 08. 2022 19:37

Pomeranc
Příspěvky: 683
Pozice: student
Reputace:   10 
 

Re: Makro excel

↑ Stýv:

Určitě je to zajímavé, ale asi to nepůjde použít na problém, který řeším.

Offline

 

#8 19. 08. 2022 20:36

Stýv
Vrchní cenzor
Příspěvky: 5711
Reputace:   215 
Web
 

Re: Makro excel

↑ 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

 

#9 19. 08. 2022 22:44

check_drummer
Příspěvky: 5578
Reputace:   106 
 

Re: Makro excel

↑ Pomeranc:
A jak máš Cells použitou? Napiš sem kus svého kódu.
Google radí: Worksheets("Sheet1").Cells(6, 1).Value


"Máte úhel beta." "No to nemám."

Offline

 

#10 15. 10. 2022 12:28

Pomeranc
Příspěvky: 683
Pozice: student
Reputace:   10 
 

Re: Makro excel

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

 

#11 15. 10. 2022 12:32

Pomeranc
Příspěvky: 683
Pozice: student
Reputace:   10 
 

Re: Makro excel

↑ Stýv:

Asi máš pravdu, že while cyklus jde použít. Ale jelikož data mám v jednom řádku, tak mi
přišlo praktičtější využít for cyklus.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson