У меня 24 текстовых поля в пользовательской форме.Я ищу цикл, чтобы взять текстовое поле 1 и скопировать его значение в «G7», затем прокрутить вниз до следующей ячейки в столбце G и скопировать текстовое поле 2 и т. Д.
В настоящее время я копирую каждое текстовое поле всвой.Я хочу использовать прокрутку вниз, так как некоторые ячейки объединены
Range("G7").Value = TextBox1.Value
Range("G8").Value = TextBox2.Value
Range("G13").Value = TextBox3.Value
Range("G19").Value = TextBox4.Value
. Я хочу только потоковую передачу, так как у меня есть 3 различных пользовательских формы, чтобы сделать это на
. Я пробовал следующее, но код не заполняет ячейки:
Sheets("AssessCrit - PU").Select
Dim i As Long
For i = 1 To 24
With Me.Controls("TextBox" & i)
Range("G6").End(xlDown).Value = _
Array(TextBox1, TextBox2, TextBox3, .Value)
End With
Next i
У меня есть рабочее решение, Спасибо всем за помощь:
Sub SelectNextVisibleCell(Rng As Range)
Dim Cel As Range
For Each Cel In Range(Rng.Offset(1, 0), Rng.Offset(1000, 0))
If Cel.EntireRow.Hidden = False Then
Set Rng = Cel
Exit Sub
End If
Next Cel
End Sub
Private Sub CommandButton1_Click()
Sheets("AssessCrit - PU").Range("G7").Select
Dim Rng As Range
Dim i As Integer
For i = 1 To 24
Set Rng = ActiveCell
Call SelectNextVisibleCell(Rng)
Rng.Select
Rng.Value = Me.Controls("TextBox" & i).Value
Next i
End Sub