作成したユーザーフォーム(NForm)を表示した後、ボタン(adbtn)を押すと追加されるテキストボックスにデータを記載し、これをコマンドボタン Refbtn を押すことでセルへ反映させたいです。
以下のサイトを参考に作成しました。
https://excel-ubara.com/excelvba3/EXCELFORM007.html
現状として Refbtn の Cells(NRow, 1).Value = Me.KT1.Text で「メソッドまたはデータメンバーが見つかりません」と表示されてしまいます。
<シート上に配置されたコマンドボタンに登録したマクロ>※NFormを表示
Public NRow As Long Sub 新規登録() Dim Tit As String Tit = "初期設定" NRow = 2 Do While Tit <> "" Tit = Cells(NRow, 3) NRow = NRow + 1 Loop NRow = NRow - 1 NForm.Show vbModeless End Sub
<adbtnをクリックした時のコード>※項目とテキストを2行追加
Public Sub adbtn_Click() itm = itm + 1 With NForm With .Controls.Add("Forms.Label.1", "KL", True) .Top = 154 + 48 * itm 'Top位置(表示位置を移動する) .Left = 10 'Left位置 .Height = 20 '高さ .Width = 50 '幅 .BackColor = 25 '背景色 .BackStyle = 0 .ForeColor = 1 '文字色 .Font.Name = "メイリオ" 'テキストのスタイル .TextAlign = 2 'テキストの位置 .FontSize = 16 'テキストのサイズ .Caption = "項目" End With With .Controls.Add("Forms.TextBox.1", "KT" & itm, True) ' .Top = 154 + 48 * itm .Left = 70 'Left位置 .Height = 20 '高さ .Width = 250 '幅 .BorderStyle = fmBorderStyleSingle '枠線 .BackColor = RGB(255, 255, 255) '背景色 .ForeColor = RGB(0, 0, 0) '文字色 .Font.Name = "メイリオ" 'テキストのスタイル .TextAlign = 2 'テキストの位置 .FontSize = 10 'テキストのサイズ .Text = "" '表示のテキスト End With With .Controls.Add("Forms.Label.1", "PL", True) .Top = 178 + 48 * itm 'Top位置(表示位置を移動する) .Left = 10 'Left位置 .Height = 20 '高さ .Width = 50 '幅 .BackColor = 25 '背景色 .BackStyle = 0 .ForeColor = 1 '文字色 .Font.Name = "メイリオ" 'テキストのスタイル .TextAlign = 2 'テキストの位置 .FontSize = 16 'テキストのサイズ .Caption = "内容" End With With .Controls.Add("Forms.TextBox.1", "PT" & itm, True) .Top = 178 + 48 * itm .Left = 70 'Left位置 .Height = 20 '高さ .Width = 250 '幅 .BorderStyle = fmBorderStyleSingle '枠線 .BackColor = RGB(255, 255, 255) '背景色 .ForeColor = RGB(0, 0, 0) '文字色 .Font.Name = "メイリオ" 'テキストのスタイル .TextAlign = 2 'テキストの位置 .FontSize = 10 'テキストのサイズ .Text = "" '表示のテキスト End With .ScrollBars = fmScrollBarsBoth '垂直、水平両方を表示 .ScrollHeight = 202 + 48 * itm '高さ .ScrollWidth = 800 '幅 End With End Sub
<Refbtnをクリックした時の処理>
Public Sub Refbtn_Click() With Worksheets("パスワード") Cells(NRow, 1).Value = Me.KT1.Text※ここでエラーが起きてしまいます! End With MsgBox "反映しました。" End Sub
Refbtnでは、一旦KT1のみ入力される様に作成しています。
よろしくおねがいします。
adbtn_Click()のitm = itm + 1のところでコンパイルエラーが出ました。
回答2件
あなたの回答
tips
プレビュー