前提・実現したいこと
全部で50項目ほどのフォームデータを、Sheetのテーブルに転記したい
発生している問題・エラーメッセージ
今のところ下記のように書いています。
VBA
1Dim row As Integer ' テーブルの行 2Dim col As Integer ' テーブルの列 3 4With Sheets(1).ListObjects(1) 5 ' 「氏名」 6 .Range(row, col).Value = Me.Text_Name.Value: col = col + 1 7 ' 「カナ」 8 .Range(row, col).Value = Me.Text_Kana.Value: col = col + 1
これだと可読性と保守性に欠けます。
それと一部転記方法を指定する箇所があります。例えば「生年月日」と「年齢」を入力する項目があり、転記する際は生年月日の列に「生年月日(年齢)」と転記するような感じです。
試したこと
VBA
1Dim ctrl As Control 2 3For Each ctrl In Me.Controls 4 Select Case True 5 Case ctrl.Name Like "Text*" 6 .Range(row, col).Value = ctrl.Value: col = col + 1 7 Case ctrl.Name Like "Option*" 8 .Range(row, col).Value = ctrl.Caption: col = col + 1 9 End Select 10Next
上記のように書くことを考えたのですが、Me.Controlsでとれるデータがバラバラ(おそらくオブジェクト配置順?)なので指定の列に入れることができません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/09 02:03
2021/09/09 02:41
2021/09/09 02:52