< návrat zpět

MS Excel


Téma: Bežanie makra po edite rss

Zaslal/a 5.4.2010 10:23

Zdravím, chcel by som sa spýtať, ako by som docielil to, aby mi spustené makro bežalo aj po úprave hociktorej bunky, teda po stlačení enter. V exceli mám vytvorené start/stop tlačítko a
v moduli mam toto:

Public generovanie As Boolean

Public Sub StopStart()
If (generovanie) Then
generovanie = False
Else
generovanie = True
Pocitanie
DoEvents
End If
End Sub
Public Sub Pocitanie()

Do While generovanie
Application.Calculate
DoEvents
Loop
End Sub

Ďakujem.
A ešte by som sa chcel spýtať ako by sa dalo vo VBA kopírovať. Povedzme že by som do A3 napísal číslo napr. 3. Stlačil by som tlačítko OK - viazané na nejaké makro a to by sposobilo aby sa mi skopírovalo pole 3x pod seba povedzme pole 3x5 od A5 do C9.

Zaslat odpověď >

icon #001421
Poki
Zdravim,

pokud chcete spustit jakekoliv makro pri zmene bunky na konkretnim listu, je k tomu vhodna procedura:
Private Sub Worksheet_Change(ByVal Target As Range), kde Target je zmene bunka.
Pro kopírování lze pouzit napr. prirazeni hodnot bunkam:

range("A5") = range("a3") ....nebo
cells(5,1) = cells(3,1)

Chtelo by to znat presne, co chcete udelat, ale neni to nijak slozite...citovat
#001424
avatar
Ďakujem za rýchlu odpoveď, pomohlo mi to dosť. :)
K tomu kopírovaniu ešte, tie sposoby skopírujú hodnotu v bunke, ale ak by som chcel skopírovať vzorec kt. mám v bunke uložený?
Jedná sa o to, že generujem v exceli signály (sinus, trojuholnik, obdlžnik)
A som to chcel tak vymyslieť aby som si na začiatku zadal do nejakej bunky povedzme A1 počet generovaných signálov. Napríklad trojuholníkových. Teda napr. by som tam dal číslo 3. a potom by som pomocou tlačítka spustil makro, ktoré by mi skopírovalo dokopy 3x všetky tie bunky kde sa mi vytvára daný trojuholníkový signál niekam nižšie do prázdnych buniek. Ale nie iba hodnoty, ale celé funkcie v bunkách. Ale dá sa to samozrejme ručne jednoducho spraviť cez ctrl+c ctrl+v, tak ak by ste nevedeli poradiť, nevadí.citovat
icon #001425
Poki
Vim, co myslite. Je samozrejme mozne pouzit kopirovani podobne jako ctrl+C a ctrl+V, napr. takto:
Range("A3").Select
Selection.Copy
Range("A4").Select
ActiveSheet.Paste 'kopíruje A3 do A4
Application.CutCopyMode = False
,
s tím, že vložení lze použí vícekrat (např. 3x pod sebe).
Pokud ale bude počet kopírování záviset na hodnotě buňky, bylo by potřeba použít cyklus, kde se již musí použít složitější zápis, např. takto:
Sub Copy2()
For i = 10 To 10 + Range("A1")
Range("A3").Select
Selection.Copy
Range("A" & i).Select
ActiveSheet.Paste
Next
Application.CutCopyMode = False
End Sub
citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje