У меня есть пользовательская форма, из которой я хочу импортировать значения в предопределенную таблицу (называемую «Overzicht»).
У меня 12 флажков (по одному на каждый месяц), и я хочу одну строку для каждого месяца, если этот флажок установлен. Я хочу поставить флажок «Заголовок» в одном из столбцов таблицы.
Например, если я проверяю январь, февраль и март, я хочу импортировать все значения в таблицу в три строки, где В первой строке столбца «Месяц» написано «Январь», во второй «Февраль» и т. д. c.
У меня есть код, который проверяет количество отмеченных флажков и создает такое же количество строк. Я не знаю, как получить правильные заголовки в строках. Это то, что у меня есть:
Private Sub CommandButton1_Click()
Dim rng As Range
Dim newrow As ListRow
Set rng = ThisWorkbook.Worksheets("Kostenoverzicht").Range("Overzicht")
Dim answer As Integer
'check number of rows to insert based on # of checked months
Dim ctl As MSForms.Control
Dim rows As Long
For Each ctl In Kostenoverzicht.Frame2.Controls
If TypeOf ctl Is MSForms.CheckBox Then
If Kostenoverzicht.Frame2.Controls(ctl.Name).Value = True Then
rows = rows + 1
End If
End If
Next
answer = MsgBox("Are you sure you want to continue?", vbQuestion + vbYesNo + vbDefaultButton1, "Zet in overzicht?")
If answer = vbYes Then
rng.Select
Set newrow = Selection.ListObject.ListRows.Add(alwaysinsert:=True)
With ws
For rows = 1 To rows
newrow.Range.Cells(rows, 1).Value = Me.TextBox1.Value
newrow.Range.Cells(rows, 2).Value = Me.CategorieBox.Value
newrow.Range.Cells(rows, 3).Value = Me.SubCategorieBox.Value
newrow.Range.Cells(rows, 4).Value = Me.BankrekeningBox.Value
If OptionButton1.Value = True Then newrow.Range.Cells(rows, 5).Value = "Af" Else newrow.Range.Cells(1, 5).Value = "Bij"
newrow.Range.Cells(rows, 6).Value = Me.TextBox2.Value
newrow.Range.Cells(rows, 7).Value = Me.CheckBox1.Caption
If OptionButton3.Value = True Then newrow.Range.Cells(rows, 8).Value = "Ja" Else newrow.Range.Cells(1, 8).Value = "Nee"
Next
End With
End If
End Sub
Это даст значение "Январь" для всех строк.
Мне нужен код для замены newrow.Range.Cells(rows, 7).Value = Me.CheckBox1.Caption
, чтобы взять заголовок флажок установлен.
Я пытался найти ответ на нескольких сайтах.