ユーザーフォームのリストボックス(RowSource,P6:A26)で選択し14個のテキストボックスで編集しコマンドボタンでSheet(P6:AC26)にコピペしていますが、下記のコードだと無制限に登録されてしまいます。Sheetの範囲内で登録&編集のコードの書き方がありましたらご教示賜りたく存じます。(番号は自動入力でなくてもいいです。)
Windows7・SP1 Office2010
Private Sub CommandButton2_Click()
Dim varRag As Variant
Dim myArray As Integer
Dim i As Long
varRag = Array(txtID, txtTextBox2, txtTextBox3, txtTextBox4, txtTextBox5, txtTextBox6, txtTextBox7, txtTextBox8, txtTextBox9, txtTextBox10, txtTextBox11, txtTextBox12, txtTextBox13, txtTextBox14)
If TextBox3.Text = "" Then
MsgBox "登録すべき内容がありません!", vbExclamation, "確認"
Exit Sub
End If
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
If ListBox1.ListIndex = -1 Then 'リストが選択していなかったら、
Cells(Rows.Count, 16).End(xlUp).Offset(1).Select
For myArray = 0 To 9
With Selection
txtID = .Row - 5
.Offset(, myArray) = varRag(myArray)
End With
Next myArray
Else
i = ListBox1.ListIndex + 6
Range("P" & i).Value = i - 5
Range("Q" & i).Value = TextBox2.Text
Range("R" & i).Value = TextBox3.Text
Range("S" & i).Value = TextBox4.Text
Range("T" & i).Value = TextBox5.Text
Range("U" & i).Value = TextBox6.Text
Range("V" & i).Value = TextBox7.Text
Range("W" & i).Value = TextBox8.Text
Range("X" & i).Value = TextBox9.Text
Range("Y" & i).Value = TextBox10.Text
Range("Z" & i).Value = TextBox11.Text
Range("AA" & i).Value = TextBox12.Text
Range("AB" & i).Value = TextBox13.Text
Range("AC" & i).Value = TextBox14.Text
End If
'データをクリア
ListBox1.ListIndex = -1
ID.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
TextBox12.Text = ""
TextBox13.Text = ""
TextBox14.Text = ""
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Private Sub ListBox1_Change()
Dim targetRow As Integer
With ListBox1
targetRow = .ListIndex
ID.Text = .List(targetRow, 0)
TextBox2.Text = .List(targetRow, 1)
TextBox3.Text = .List(targetRow, 2)
TextBox4.Text = .List(targetRow, 3)
TextBox5.Text = .List(targetRow, 4)
TextBox6.Text = .List(targetRow, 5)
TextBox7.Text = .List(targetRow, 6)
TextBox8.Text = .List(targetRow, 7)
TextBox9.Text = .List(targetRow, 8)
TextBox10.Text = .List(targetRow, 9)
TextBox11.Text = .List(targetRow, 10)
TextBox12.Text = .List(targetRow, 11)
TextBox13.Text = .List(targetRow, 12)
TextBox14.Text = .List(targetRow, 13)
End With
End Sub
No.1ベストアンサー
- 回答日時:
仰っている意味は、たとえば「20行目まで入力されたらそれ以降は入力できないようにする」ということでしょうか?
上から15目あたり、
If ListBox1.ListIndex = -1 Then 'リストが選択していなかったら、
Cells(Rows.Count, 16).End(xlUp).Offset(1).Select
'----------追加ここから
If Selection.Row = 27 Then
i=Msgbox("これ以上は登録できません",vbOKOnly)
Exit Sub
End If
'----------ここまで
For myArray = 0 To 9
としてはどうでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Excel(エクセル) VBA 同日で2回目(午後)の体温を登録するときのコード 3 2022/08/28 20:29
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/20 14:46
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスの番号を使っ...
-
教えて!全角文字「μ」の半角
-
エクセルVBA テキストボックス...
-
初歩的な事だと思います。 Sub...
-
数字以外の入力をエラーにする...
-
EXCEL VBA で指定した範囲に入...
-
VBAの質問になります メッセー...
-
入力フォームの値をQRコードで...
-
VBAでInputBoxの再入力をさせる...
-
Excel-VBAでInputBox+Pulldown...
-
Vba テキストボックスでボック...
-
アルファベットGの小文字の入力
-
TextBoxから数字が文字...
-
Windowsのアプリ開発ってなんの...
-
「イ分」・・・フンという文字...
-
TEXTAREA に入力時の位置
-
HTMLで入力値を半角大文字に制御
-
WebフォームのIMEモードを入力...
-
c#でTextBoxの入力制限
-
excel vba でユーザーフォーム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA テキストボックス...
-
テキストボックスの番号を使っ...
-
初歩的な事だと思います。 Sub...
-
数字以外の入力をエラーにする...
-
EXCEL VBA で指定した範囲に入...
-
Excel-VBAでInputBox+Pulldown...
-
入力フォームの値をQRコードで...
-
VBAの質問になります メッセー...
-
c#でTextBoxの入力制限
-
VBAで質問があります
-
教えて!全角文字「μ」の半角
-
VBAでInputBoxの再入力をさせる...
-
excel vba でユーザーフォーム...
-
TextBoxから数字が文字...
-
エディットボックスの入力制限...
-
accessで該当するレコードがな...
-
DataGridViewの桁数制限に関して
-
VBA R1C1形式で変数の入力について
-
「イ分」・・・フンという文字...
-
Windowsのアプリ開発ってなんの...
おすすめ情報