dポイントプレゼントキャンペーン実施中!

EXcel2003でマクロ作成中です。エクセルシートのN列を右クリックすると、ユーザーォームが現れ、その中のリストボックスから項目を選択すると選択文字が白色に反転します。
ユーザーホームの下方に設置した「入力する」ボタンをクリックする、アクティブセルにテキスト文字列が挿入されます。
Option Explicit
Private Sub CommandButton1_Click()
With ListBox1
If .ListIndex = -1 Then
MsgBox "項目を選択してくだい"
Else
ActiveCell.Value = ListBox1.list(ListBox1.ListIndex)
End If
End With
Unload UserForm1
End Sub
---------------------------
Private Sub CommandButton2_Click()
Unload UserForm1
End Sub
------------------------------
これと同じものをB列につくりました。エクセルシートのB列を右クリックすると、リストボックスが表示されますが、その中の項目を選択しようとすると、一瞬にしてユーザーフォーム自体が消えてしまい項目を
選択できません。
Private Sub CommandButton1_Click()
With ListBox2
If .ListIndex = -1 Then
MsgBox "項目を選択してくだい"
Else
ActiveCell.Value = ListBox2.list(ListBox2.ListIndex)
End If
End With
Unload UserForm2
End Sub
-----------------------------
Private Sub CommandButton2_Click()
Unload UserForm2
End Sub
------------------------------------------
まったく同じものを作って内容だけかえたのですが、できません。
どうしてでしょうか?ご教授おねがいします。

A 回答 (1件)

どうも


ん~ちょっとよく判りませんが、UserForm1の内容をコピーしてUserForm2を作ったんではないんですね
UserForm2はListBoxが『2』ですもんね
この状態で表示されたUserForm2のListBoxが『1』で、ListBox1_Enterに UnLoad Me
とか書いてあるなら判りますけど、違うんなら正直この手の事柄は物(エクセルファイル自体)を見ないと、なんとも言い様がないです

一度UserForm3を作って、それにUserform1の内容をコピーして貼り付けし、プロパティも全く同じに指定してUserForm1の完全なコピーを作成してから、細部を調整してはいかがですか?
意外な思い込みで、間違っている事に気付く場合もあるでしょうし、気が付かなくても、Userform3が望みどおり動作するなら、そのまま採用
UserFormの番号が跳ぶのがいやなら、Userform3が望みどおり動作するようになった後で、UserForm2を開放しマクロ全体(カレントプロジェクト)に対してUserForm3→UserForm2と置き換えを実行
UserForm3自体をUserForm2と改名すれば完了です

お試しを
    • good
    • 0
この回答へのお礼

すみません。あなた様のいうとおりやったら、できました!ありがとうございました。

お礼日時:2008/05/02 10:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!