Stránka 1 z 1

Makro v excelu (VBA)

Napsal: 22 bře 2017 17:39
od xp3
Dobrý den,
potřebuji poradit. V práci mám jednotnou tabulku jako výkaz pro předávání práce.
Potřebuji, aby po vyplnění 10 cifer v buňce "C3" došlo k automatickému přeskoku na buňku "H3". Lze to vyřešit pomocí VBA?
Po zapsání poslední 10-té cifry potřebuji automatický skok v témže řádku do sloupce "H". Na další řádek, opět sloupec "C" se dokážu přesunout pomocí vlastního makra. Ve sloupci "H" mám totiž jednu nebo dvě cifry, což by šlo pro automatický skok asi těžko definovat.
Děkuji

Re: Makro v excelu (VBA)

Napsal: 22 bře 2017 20:19
od guest
V režimu editace buňky nedokážete nic, bez ohledu na počet cifer.

Re: Makro v excelu (VBA)

Napsal: 23 bře 2017 08:53
od atari
Jediné co mě napadá tak to obejít. Editaci buňky nedělat v buňce, ale přes formulář. A ve formuláři (pokud se nepletu) lze nastavit omezení počtu znaků. To však vyžaduje jistou úroveň znalostí VBA.

Re: Makro v excelu (VBA)

Napsal: 23 bře 2017 20:05
od xp3
To je dobrý nápad vkládat data pomocí inputboxu. Zadat deset cifer, potvrdit entrem. Skočí to do sloupce "H" znova enter, skočí to do sloupce "C" o řádek níž. A tak pořád dokola až se dostanu na řádek 63. To by mi moc pomohlo kdyby se to dalo ve VBA udělat. Bohužel takovej borec přes VBA nejsem.

Re: Makro v excelu (VBA)

Napsal: 23 bře 2017 21:12
od atari
Takhle přesně jednoduše (z pohledu uživatele) to jde udělat.
Já jsem formuláře začal studovat před 3 lety, abych udělal 2 jednoduché prográmky ve VBA. Byla to pro mě úplná novinka. Sice jsem nad tím strávil asi 20 až 5O hodin času. Ale ty dva projekty jsem udělal. Kdyby to dělal programátor, tak to má za dva večery hotové. Ale já se to chtěl naučit. Sice jsem to zapomněl za ty ti roky, protože jsem ve VBa přestal dělat.
Není to však nic složitého. Nejlepší je najít na netu vzorové Excely s formulářema a na nich to studovat plus je spousta návodů na netu.

Re: Makro v excelu (VBA)

Napsal: 24 bře 2017 19:15
od xp3
Prosím o radu do začátku. Jak zapíšu inputboxem, co buňky C7 hodnotu třeba 123. Jsem ve VBA úplnej začátečník

Re: Makro v excelu (VBA)

Napsal: 24 bře 2017 19:46
od Azuzula
Ahoj, třeba takhle:

Kód: Vybrat vše

Range("C7").Value = InputBox("Zadej hodnotu", "Zápis")

Re: Makro v excelu (VBA)

Napsal: 24 bře 2017 20:09
od xp3
To mi nefunguje. Potřebuju to do začátku jako pro blbce.
Makro.png

Re: Makro v excelu (VBA)

Napsal: 24 bře 2017 21:34
od Azuzula
Makro se nesmí jmenovat stejně jako příkazy to je celý problém. Přejmenuj makro na něco jinýho a bude fungovat pokud je syntaxe stejná i v nových excelech než je 2010 kterou mám já.

Re: Makro v excelu (VBA)

Napsal: 25 bře 2017 11:22
od xp3
Děkuji všem za pomoc :-)
Už mi to funguje dokázal jsem jako úplný lajk definovat cyklus i podmínku pro zastavení pokud nechci zadávat data až do konce.
Sub zadání1()
Dim i As Integer
a = 10000
For i = 7 To 26
Cells(i, 3).Select
Cells(i, 3).Value = inputbox("Zadej číslo PP", "Číslo PP", , a, 1)
If Cells(i, 3).Value = 0 Then Exit Sub

Cells(i, 8).Select
Cells(i, 8).Value = inputbox("Zadej počet NH", "Počet NH", , a, 1)
If Cells(i, 8).Value = 0 Then Exit Sub
Next i
End Sub

Re: Makro v excelu (VBA)

Napsal: 30 bře 2017 11:58
od atari
Výborně, jen tak dál :thumbup: . Doporučuji však (u projektů které jsou více obsáhlejší) název porměnné místo "a" napsat něco, co popíše tu hodnotu, například "pocet_sekund". Sice to trochu zvětší a znepřehlední kód, ale při ladění kodu s větším množstvím proměnných, to pak pomáhá se v tom lépe orientovat.

Re: Makro v excelu (VBA)  Vyřešeno

Napsal: 31 bře 2017 15:46
od xp3
atari píše:Výborně, jen tak dál :thumbup: . Doporučuji však (u projektů které jsou více obsáhlejší) název porměnné místo "a" napsat něco, co popíše tu hodnotu, například "pocet_sekund". Sice to trochu zvětší a znepřehlední kód, ale při ladění kodu s větším množstvím proměnných, to pak pomáhá se v tom lépe orientovat.

To je rozumné u větších projektů bych pak třeba přemejšlej cože to to "a" vlastně je. V mém případě by název byl "X_pozice_okna" :-)