当前我正在编写一个excel宏。该宏显示一个用户窗体。 在用户窗体中,用户可以选择一些东西。在用户选择了一些我调用Userform.Hide来隐藏用户窗体并阅读表单中的选择之后。读取选择后,我称之为卸载用户窗体。现在代码与选择交互。我想在循环中完成此操作,但是当代码尝试第二次显示用户窗体时。我收到了一个表单已经显示的异常。我无法理解它,因为我叫Unload Userform。当我在调试模式下执行它时,它应该如此工作。在ClassModule我称之为一个循环VBA用户表单反复显示相同的用户表单
Sub Costum(Spalte As Integer, Zeile As Integer, SpalteBeginn As Integer, Cards As Cards, CardsOpponent As Cards)
CardSelector.CardSelector_Activate Cards
Dim c As card
Dim number As Integer
number = CardSelector.SelectedNumber
Set c = Cards.CardDictionary.Items(CardSelector.SelectedNumber - 1)
SetCardAsPlaced c, Zeile, Spalte, SpalteBeginn
Unload CardSelector
End Sub
有人可以帮助我在这里
用户窗体代码
Private Sub Image1_Click()
SelectCard 1
End Sub
Private Sub Image2_Click()
SelectCard 2
End Sub
Private Sub SelectCard(number As Integer)
SelectedNumber = number
Me.Hide
End Sub
Public Sub CardSelector_Activate(Cards As Cards)
Dim c As card
For Each Key In Cards.CardDictionary.Keys
Set c = Cards.CardDictionary.Items(Key - 1)
If c.value = 1 And c.played Then
Image1.Enabled = False
End If
If c.value = 2 And c.played Then
Image2.Enabled = False
End If
Next Key
number = SelectedNumber
CardSelector.Show
End Sub
码?
我们需要查看您的代码,以便我们知道发生了什么。 –
我已将它添加到您编写的问题 – Lukas
_“我调用Unload Userform”_,这意味着您要卸载的用户窗体实际上是以“Userform”命名的? – user3598756