はじめてのユーザーフォーム
Excel2013
ユーザーフォームの使い方をテストしているのですが、
何処が悪いのか添削して頂けると助かります。
したいこと
シートに列の多い表があります(テストでは2列 名前,住所)
シート上ボタンでフォームをモーダレスで表示し、
シート上セルを移動すると、該当セル行の内容を
ControlSourceでフォーム(カード表示状態)に連動表示し、
こちらでは1件毎に表示して閲覧や修正をしたい。
'Sheet1上のボタン
Sub ボタン1_Click()
'フォーム起動
UserForm1.Show vbModeless
End Sub
'Sheet1上のスクリプト
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If UserForm1.Visible = True Then
nr = ActiveWindow.RangeSelection.Row '現在行取得
If nr > 3 Then '3行目より上は見出し行なので無視
名前TextBox.ControlSource = Cells(nr, 1) 'エラーになります
住所TextBox.ControlSource = Cells(nr, 2)
End If
End If
End Sub
修正ボタン押下でセルをフォーム変数へ代入するのはできたので、ControlSourceで
セルと連動できれば横着できるなと…
よろしくお願いします。
お礼
回答ありがとうございます。 各ページ設定.Showをpeiji.Showに直したらエラーがでなくなりました。