Jak ve VBA zadat konstantu (INPUT nefunguje) ?

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3344
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Jak ve VBA zadat konstantu (INPUT nefunguje) ?

Příspěvekod atari » 28 črc 2020 11:16

Níže uvedený kód se zastaví na chybě, že je chyba v definici objektu. Jakmile číslo zadám příkazem "Sloupec = 5", tak kód funguje bez chyb.

Má pro to někdo vysvětlení?

Kód: Vybrat vše

Sub test()

Sloupec = InputBox("Číslo sloupce, kam se má zapsat hodnota")
'Sloupec = 5
Cells(1, Sloupec) = 99

End Sub

Reklama
Zivan
Level 5.5
Level 5.5
Příspěvky: 2687
Registrován: leden 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Jak ve VBA zadat konstantu (INPUT nefunguje) ?

Příspěvekod Zivan » 28 črc 2020 12:34

VBA vubec neumim, ale nebude problem v datovem typu?

Tedy ze se to snazis nacpat do Cells(1, "5")

Edit:
S pomoci Googlu bych to prepsal na:

Kód: Vybrat vše

Sub test()

Sloupec = Application.InputBox("Číslo sloupce, kam se má zapsat hodnota", Type:=5)
'Sloupec = 5
Cells(1, Sloupec) = 99

End Sub


Mozna bys jeste pred vlozenim te hodnoty mohl zjistovat, jestli je ve Sloupec cislo, kdyz misto zadani zmacknes ESC, tak tam nic nebude a kod spadne.
HP Elitebook 845 G8 (Ryzen 5650U, 32GB RAM, WD SN570 1TB, 14" fullHD IPS) + HP USB-C G5 Essential + 29" LG 29UM65 + 22" Eizo S2202W

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3344
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Jak ve VBA zadat konstantu (INPUT nefunguje) ?

Příspěvekod atari » 28 črc 2020 14:48

Ve Sloupci je číslo. Pokud například udělám matematickou operaci například "Sloupec/2" tak se provede korektně, Takže evidentně je zadáno číslo.

Ale asi je problém v datovém typu. Když dám deklaraci "Dim Sloupec As Integer", tak už to začne fungovat.

Ale to "Application.InputBox" funguje i bez té deklarace. Takže dík za tip.

Zivan
Level 5.5
Level 5.5
Příspěvky: 2687
Registrován: leden 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Jak ve VBA zadat konstantu (INPUT nefunguje) ?

Příspěvekod Zivan » 28 črc 2020 14:52

Kdyz udelas matematickou operaci (pouziva se *1), tak to VBA asi automaticky konvertuje, ale u Cells to udelat nemusi.

Hlavne ze to funguje.
HP Elitebook 845 G8 (Ryzen 5650U, 32GB RAM, WD SN570 1TB, 14" fullHD IPS) + HP USB-C G5 Essential + 29" LG 29UM65 + 22" Eizo S2202W

Uživatelský avatar
elninoslov
Level 2.5
Level 2.5
Příspěvky: 386
Registrován: červen 13
Pohlaví: Muž
Stav:
Offline

Re: Jak ve VBA zadat konstantu (INPUT nefunguje) ?

Příspěvekod elninoslov » 29 črc 2020 13:13

Kód: Vybrat vše

Sub test()
Dim Sloupec As Integer
    On Error Resume Next
    Sloupec = Application.InputBox("Číslo sloupce, kam se má zapsat hodnota", Type:=5)
    On Error GoTo 0
    If Sloupec = 0 Then MsgBox "Chyba !", vbCritical: Exit Sub
    Cells(1, Sloupec) = 99
End Sub

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3344
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Jak ve VBA zadat konstantu (INPUT nefunguje) ?

Příspěvekod atari » 29 črc 2020 20:05

Tohle už napohled vypadá inteligentněji... :thumbup:
Díky


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Nefunguje nová PC
    od adoyss » 16 led 2025 05:06 » v Problémy s hardwarem
    7
    3430
    od martanius Zobrazit poslední příspěvek
    17 led 2025 02:29
  • T490s nefunguje trackpoint UPDATE Příloha(y)
    od Sadelník1234 » 17 led 2025 21:49 » v Problémy s hardwarem
    3
    3205
    od kecalek Zobrazit poslední příspěvek
    20 led 2025 16:00
  • Snímač otisku najednou nefunguje, laptop Příloha(y)
    od frisby » 17 srp 2024 22:18 » v Problémy s hardwarem
    1
    1664
    od frisby Zobrazit poslední příspěvek
    18 srp 2024 10:46
  • USB-C hub nefunguje na jednom ASUS notebooku s Thunderbolt 4, na jiném ano
    od Atjov1 » 20 bře 2025 19:58 » v Problémy s hardwarem
    10
    5644
    od Atjov1 Zobrazit poslední příspěvek
    03 čer 2025 14:53
  • ASUS PRIME Z790-A WIFI - Intel Z790 + Samsung 990 PRO (Nefunguje Boot & Instalace Win 10) Příloha(y)
    od Polkiking » 14 srp 2024 15:50 » v Problémy s hardwarem
    6
    4511
    od Zivan Zobrazit poslední příspěvek
    15 srp 2024 09:16

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů