Oříšek rozlousknut
Pro info:
Proměnná z UserFormu je nadřazená té z Modulu. Při spuštění UserFormu1 pomocí Workbook_Open()musí být v prázdném Modulu deklarovaná PUBLIC proměnná, která je pak využitelná v každém UserFormu.
Ostatně jak psal skvělý Poki, ale já se do toho zamotal (nadřazenost, prázdný modul a ....)
Ahoj,
"misocko" je chápavý, já potřebuji ještě trochu postrčit. Tuším že řešení ne jednoduché a mám ho před očima bohužel ho né a né uvidět.
V přiloženém souboru dva UserFormy v prvním nasaji z ListBox Index proměnnou a v druhém bych s proměnnou chtěl pracovat.
Deklarace Public je pouze uvnitř UserFormu.
Deklarovat Public v Modulu se mi nedaří - neznám ještě ListBox Index.
Řeším to pomocnou buňkou A1 v List3, ale není to elegantní.
Jistě se najde borec který mi poradí.
Děkuji Mirek
pro WEWU
že by takto?
=A1&"/10"
Mirek
'výběr tiskárny
Application.Dialogs(xlDialogPrint).Show
'nastavení tiskárny
Application.Dialogs(xlDialogPrinterSetup).Show
nebo takto:
Private Sub UserForm_Activate()
ComboBox1.AddItem "1"
ComboBox1.AddItem "2"
ComboBox1.AddItem "3"
End Sub
Private Sub ComboBox1_Change()
ComboBox2.Value = ""
Dim x
x = ComboBox1.Value
If x = 1 Then
ComboBox2.RowSource = "sheet1!F3:F11"
End If
If x = 2 Then
ComboBox2.RowSource = "sheet1!G3:G11"
End If
If x = 3 Then
ComboBox2.RowSource = "sheet1!H3:H11"
End If
End Sub
Na jiném PC s jinou verzí EXCELu problém nenastal.
U mne ani přeinstalování nepomohlo. Musím deklarovat ještě jednu proměnnou (nepotřebnou )
Děkuji všem za čas a info.
jak popisuji poslední bádání. Otevřel jsem nový neposkvrněný sešit, vložil do něj UserForm také
čistý a prázdný a jen deklaroval proměnné.
A výsledek podivný - někdy pád někdy vpoho podle toho
v jakém pořadí či kolik deklaruji proměnných
Bádal jsem nad čistým, prázdným UserForm a záleží jen na kombinaci deklarovaných. Umíte to někdo vysvětlit?
nepadá:
Dim a As Byte
Dim b As Byte
Dim a As Byte
Dim b As Integer
Dim a As Byte
Dim b As Byte
Dim c As Byte
Dim d As Integer
způsobí pád EXCELu:
Dim a As Byte
Dim a As Integer
Dim b As Byte
Dim a As Byte
Dim b As Byte
Dim c As Byte
hláška po pádu:
AppVer:8.0.1.4307
ModName:ntdll.dll
ModVer: 5.1.2600.6055
Offset:000104fa
omluva poslal jsem špatný soubor
soubor "byte" nepadá, ale soubor "form" ano.
čus,
vůbec nic s proměnnou nedělám. Jen spustím otevření formuláře. Mrkni na přiložený soubor a ve formuláři vyndej z komentářů " 'Dim b As Byte 'zde deklarovat Byte nemohu" a spusť proceduru formuláře.
Ahoj,
tušíte proč po deklaraci proměnné typu "Byte" vně procedury v UserForm způsobí pád EXCELu? ("Integer" je vpoho)
Deklarace uvnitř procedury, nebo vně procedury, ale mimo formulář (tzn. na listu či v modulu) pád nezpůsobí.
Je to problém či omezení EXCELu obecně nebo mám chybu v instalaci já.
Dík za reakce
Proč nejde přiřadit zobrazování datového formuláře k tlačítku na listu?
Private Sub CommandButton1_Click()
ActiveSheet.ShowDataForm
End Sub
Hlásí chybu 1004, metoda ShowDataForm třídy Worksheet selhala.
Pomůžeš prosím.
Lze vzhled tohoto formuláře upravovat ve VBA?
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.