ExcelVBAユーザーフォームチェックボックスを使用して複数の行にデータを入力する

カニ

こんにちは私は選択されたチェックボックスに基づいて一度に複数のデータ行を入力する必要があります。現在、これは1行しか追加しません。ループを使用する必要があると思いますが、どのように実装すればよいかわかりません。誰か助けてもらえますか?

ユーザーフォーム

サンプル出力は次のようになります。

TC37 | 1 
TC37 | 2 
TC37 | 4

現在のコード:

Dim LastRow As Long, ws As Worksheet
Private Sub CommandButton1_Click()

  Set ws = Sheets("sheet1")

  LastRow = ws.Range("A" & Rows.Count).End(xlUp).Row + 1

  ws.Range("A" & LastRow).Value = ComboBox1.Text

  If CheckBox1.Value = True Then
    ws.Range("B" & LastRow).Value = "1"
  End If

  If CheckBox2.Value = True Then
    ws.Range("B" & LastRow).Value = "2"
  End If

  If CheckBox3.Value = True Then
    ws.Range("B" & LastRow).Value = "3"
  End If

  If CheckBox4.Value = True Then
    ws.Range("B" & LastRow).Value = "4"
  End If

End Sub

Private Sub UserForm_Initialize()
  ComboBox1.List = Array("TC37", "TC38", "TC39", "TC40")
End Sub
L42

最後の行を1回取得しているので、その1回を参照してデータをダンプする必要があります。次のようなものを試してください:

Dim chkCnt As Integer
Dim ctl As MSForms.Control, i As Integer, lr As Long
Dim cb As MSForms.CheckBox

With Me
    '/* check if something is checked */
    chkCnt = .CheckBox1.Value + .CheckBox2.Value + .CheckBox3.Value + .CheckBox4.Value
    chkCnt = Abs(chkCnt)
    '/* check if something is checked and selected */
    If chkCnt <> 0 And .ComboBox1 <> "" Then
        ReDim mval(1 To chkCnt, 1 To 2)
        i = 1
        '/* dump values to array */
        For Each ctl In .Controls
            If TypeOf ctl Is MSForms.CheckBox Then
                Set cb = ctl
                If cb Then
                    mval(i, 1) = .ComboBox1.Value
                    mval(i, 2) = cb.Caption
                    i = i + 1
                End If
            End If
        Next
    End If
End With
'/* dump array to sheet */
With Sheets("Sheet1") 'Sheet1
    lr = .Range("A" & .Rows.Count).End(xlUp).Row + 1
    .Range("A" & lr).Resize(UBound(mval, 1), 2) = mval
End With

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ExcelVBAのユーザー入力ボックスデータから複数のフィルターを使用してコピーする方法

分類Dev

シートデータを重複せずにユーザーフォームコンボボックスに挿入します-ExcelVba

分類Dev

vbscriptを使用して1つのユーザーフォームで複数の入力ボックスを作成する方法

分類Dev

Woocommerceユーザー登録フォームに追加のチェックボックスを追加し、ユーザーの追加データとしてバックエンドでチェックされているかどうかを保存/表示します

分類Dev

Woocommerceユーザー登録フォームに追加のチェックボックスを追加し、ユーザーの追加データとしてバックエンドでチェックされているかどうかを保存/表示します

分類Dev

ExcelVBA複数のユーザーフォームコンボボックスの複数列のデータ一致基準に基づいて行を選択します

分類Dev

ユーザー入力を使用してチェックボックスの値を更新する方法

分類Dev

ユーザーが入力を入力した場合、否定または空の入力ボックスをチェックしてアラートメッセージをスローするフォームがあります

分類Dev

フォームのテキストボックスとチェックボックスからユーザー入力(アカウント番号、チェックボックス、チェックされたラジオボタンなど)を取得し、データベースからファイルを取得します

分類Dev

ユーザー入力を使用してコンボボックスにデータを入力します

分類Dev

codeigniterフォームを使用して `|`区切り文字で複数のチェックボックスデータを送信する方法

分類Dev

Excel VBを使用して、テキストボックスが2つ以上のユーザーフォームからのものであるテキストボックスにデータを入力するよりも優れたデータを入力するにはどうすればよいですか?

分類Dev

ajaxを介してチェックボックスに入力した後にフォームを送信する

分類Dev

コマンドボタンを選択すると、ユーザーフォームが開きます。フォームのテキストボックスにデータを入力して、別のシートの行に挿入するにはどうすればよいですか?

分類Dev

Excelvbaを使用してユーザーフォームの下にブックを非表示にする

分類Dev

Excelvbaユーザーフォームコンボボックスで選択した行の列からデータを抽出します

分類Dev

テキストボックスエントリをセルと照合して、列にユーザーフォームデータを入力します

分類Dev

ユーザーフォームに動的に追加されたチェックボックスを使用する

分類Dev

ユーザーフォームのチェックボックスをオフにします

分類Dev

コンボボックスにユーザーフォームの文字列配列を入力します

分類Dev

Excel VBA +ユーザーフォームチェックボックス::フォームチェックボックスを使用して列を非表示/再表示

分類Dev

フォームチェックボックスを使用してExcelの行を再表示/非表示にする

分類Dev

セルの範囲からユーザーフォームにコンボボックスを入力する

分類Dev

ExcelVBAユーザーフォームのさまざまなコンボボックスで.PASSWORDを使用する

分類Dev

ユーザーフォームのチェックボックスの値に基づいてさまざまなマクロを実行する

分類Dev

光沢のあるアプリのチェックボックスの入力に応じて、データフレームの一部の行をスタイルフォーマットするにはどうすればよいですか?

分類Dev

javascript を使用して既存の HTML フォームに入力ボックスの行を追加する方法

分類Dev

チェックボックスフォームを使用してデータベースの行/エントリを削除するSymfony2.3

分類Dev

ページ上に複数のフォームがあるフォーム内のすべてのチェックボックスを選択します

Related 関連記事

  1. 1

    ExcelVBAのユーザー入力ボックスデータから複数のフィルターを使用してコピーする方法

  2. 2

    シートデータを重複せずにユーザーフォームコンボボックスに挿入します-ExcelVba

  3. 3

    vbscriptを使用して1つのユーザーフォームで複数の入力ボックスを作成する方法

  4. 4

    Woocommerceユーザー登録フォームに追加のチェックボックスを追加し、ユーザーの追加データとしてバックエンドでチェックされているかどうかを保存/表示します

  5. 5

    Woocommerceユーザー登録フォームに追加のチェックボックスを追加し、ユーザーの追加データとしてバックエンドでチェックされているかどうかを保存/表示します

  6. 6

    ExcelVBA複数のユーザーフォームコンボボックスの複数列のデータ一致基準に基づいて行を選択します

  7. 7

    ユーザー入力を使用してチェックボックスの値を更新する方法

  8. 8

    ユーザーが入力を入力した場合、否定または空の入力ボックスをチェックしてアラートメッセージをスローするフォームがあります

  9. 9

    フォームのテキストボックスとチェックボックスからユーザー入力(アカウント番号、チェックボックス、チェックされたラジオボタンなど)を取得し、データベースからファイルを取得します

  10. 10

    ユーザー入力を使用してコンボボックスにデータを入力します

  11. 11

    codeigniterフォームを使用して `|`区切り文字で複数のチェックボックスデータを送信する方法

  12. 12

    Excel VBを使用して、テキストボックスが2つ以上のユーザーフォームからのものであるテキストボックスにデータを入力するよりも優れたデータを入力するにはどうすればよいですか?

  13. 13

    ajaxを介してチェックボックスに入力した後にフォームを送信する

  14. 14

    コマンドボタンを選択すると、ユーザーフォームが開きます。フォームのテキストボックスにデータを入力して、別のシートの行に挿入するにはどうすればよいですか?

  15. 15

    Excelvbaを使用してユーザーフォームの下にブックを非表示にする

  16. 16

    Excelvbaユーザーフォームコンボボックスで選択した行の列からデータを抽出します

  17. 17

    テキストボックスエントリをセルと照合して、列にユーザーフォームデータを入力します

  18. 18

    ユーザーフォームに動的に追加されたチェックボックスを使用する

  19. 19

    ユーザーフォームのチェックボックスをオフにします

  20. 20

    コンボボックスにユーザーフォームの文字列配列を入力します

  21. 21

    Excel VBA +ユーザーフォームチェックボックス::フォームチェックボックスを使用して列を非表示/再表示

  22. 22

    フォームチェックボックスを使用してExcelの行を再表示/非表示にする

  23. 23

    セルの範囲からユーザーフォームにコンボボックスを入力する

  24. 24

    ExcelVBAユーザーフォームのさまざまなコンボボックスで.PASSWORDを使用する

  25. 25

    ユーザーフォームのチェックボックスの値に基づいてさまざまなマクロを実行する

  26. 26

    光沢のあるアプリのチェックボックスの入力に応じて、データフレームの一部の行をスタイルフォーマットするにはどうすればよいですか?

  27. 27

    javascript を使用して既存の HTML フォームに入力ボックスの行を追加する方法

  28. 28

    チェックボックスフォームを使用してデータベースの行/エントリを削除するSymfony2.3

  29. 29

    ページ上に複数のフォームがあるフォーム内のすべてのチェックボックスを選択します

ホットタグ

アーカイブ