Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4221 / 13646 ツリー ←次へ | 前へ→

【57810】シートからフォームを開く たか 08/9/14(日) 0:07 質問[未読]
【57811】Re:シートからフォームを開く かみちゃん 08/9/14(日) 0:14 発言[未読]
【57822】Re:シートからフォームを開く Abebobo 08/9/15(月) 9:52 発言[未読]
【57831】Re:シートからフォームを開く たか 08/9/15(月) 23:52 発言[未読]
【57834】Re:シートからフォームを開く Abebobo 08/9/16(火) 10:34 発言[未読]

【57810】シートからフォームを開く
質問  たか E-MAIL  - 08/9/14(日) 0:07 -

引用なし
パスワード
   どなたか教えてください。

Sheet1にフォーム表示用ボタンを作成したが、都合によりSheet2へボタンを
移動しなければならなくなり、Sheet1上のボタンをコピーし、Sheet2へ貼り付けて
動かそうと思ったら、実行時エラー1004になってしまいます。

一連の詳細

1.VBAProjectのMicrosoft Excel ObjectsのSheet1をクリック
2.標準モジュールをクリックし下記の通り書き込んだ。
    Sub フォームを開く()
       UserForm1.Show
    End Sub
3.Sheet1にボタンを作成し、マクロ『フォームを開く』を選択し、OK
4.正常に作動
5.Sheet1上のボタンをコピーし、Sheet2へ貼り付け
6.実行時エラー1004

【57811】Re:シートからフォームを開く
発言  かみちゃん  - 08/9/14(日) 0:14 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>1.VBAProjectのMicrosoft Excel ObjectsのSheet1をクリック
>2.標準モジュールをクリックし下記の通り書き込んだ。
>    Sub フォームを開く()
>       UserForm1.Show
>    End Sub
>3.Sheet1にボタンを作成し、マクロ『フォームを開く』を選択し、OK
>4.正常に作動
>5.Sheet1上のボタンをコピーし、Sheet2へ貼り付け
>6.実行時エラー1004

これだけの情報に基づき、新規ブックで確認してみてください。
これだけの情報では特に問題なさそうです。
UserFormには、何のコードも記述していないことが前提です。

【57822】Re:シートからフォームを開く
発言  Abebobo  - 08/9/15(月) 9:52 -

引用なし
パスワード
   たか さんこんにちは
すでにかみちゃんさんから回答有りますが、
たとえば、
Private Sub UserForm_Activate()
Sheets(1).Range("A1").Select
End Sub

上記のコードは、Sheets(1)がアクティブになっていない時にSelectしようとするとエラーがでます。

というように、ユーザーフォームにエラーのでるコードが書かれていませんか?

【57831】Re:シートからフォームを開く
発言  たか E-MAIL  - 08/9/15(月) 23:52 -

引用なし
パスワード
   ▼Abebobo さん:
UserFormには
Private Sub UserForm_Initialize()

  データ表示
  
  End Sub
データ表示とは

Sub データ表示()

  表示行 = Cells(1, 15).Value
  
  TextBox2.Value = Cells(表示行, 1).Value
  TextBox3.Value = Cells(表示行, 3).Value
  TextBox4.Value = Cells(表示行, 5).Value
  TextBox5.Value = Cells(表示行, 7).Value
  TextBox6.Value = Cells(表示行, 8).Value
  TextBox7.Value = Cells(表示行, 9).Value
  TextBox8.Value = Cells(表示行, 10).Value
  TextBox9.Value = Cells(表示行, 11).Value
  TextBox10.Value = Cells(表示行, 12).Value
  
  ComboBox1.Value = Cells(表示行, 4).Value
  ComboBox2.Value = Cells(表示行, 6).Value
  
  If Cells(表示行, 2).Value = "大宮" Then
   optionbutton1.Value = True
  Else
   optionbutton2.Value = True
  End If
   
End Sub

Cells(1, 15).Value
はSheet1上なのでSheet2へボタンを移動した場合は式にSheet名も
入れないといけないということでしょうか?
教えてください。


  

【57834】Re:シートからフォームを開く
発言  Abebobo  - 08/9/16(火) 10:34 -

引用なし
パスワード
   テキストボックスはSheet1上のものでしょうか?
ユーザーフォーム上のものでしょうか?

今後も、例のようにどこに有るものかの指定をする癖をつけたほうが良いと思います。

例:

With Sheet1
   表示行 = .Cells(1, 15).Value
  .TextBox2.Value = Sheet2.Cells(表示行, 1).Value
  .TextBox3.Value = Sheet2.Cells(表示行, 3).Value
  .TextBox4.Value = Sheet2.Cells(表示行, 5).Value
  UserForm1.TextBox5.Value = Sheet2.Cells(表示行, 7).Value

4221 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free