У меня есть созданная вручную форма, которая выглядит примерно так на листе Excel VolunteerForm
:
и база данных в листе VolunteerData
, связанная с формой:
Мне удалось связать первую часть информации (от Col A до F в базе данных), но не нижнюю половину формы.
Это то, что я сделал до сих пор (обратите внимание, что я создал код, но не могу понять, как изменить их, чтобы получить желаемый результат, так как запуск кода дал мне ошибку).
Вот мой код:
Sub Submit_VolunteerForm()
Dim lr As Long, ws As Worksheet
Dim arr As Variant, i As Long
With Worksheets("VolunteerForm")
lr = .Cells(12, "D").End(xlUp).Row - 6
ReDim arr(1 To lr, 1 To 6)
For i = LBound(arr, 1) To UBound(arr, 1)
arr(i, 1) = .Cells(4, "D").Value ' Fixed Col = Date Form sent
arr(i, 2) = .Cells(i + 6, "E").Value ' Name
arr(i, 3) = .Cells(i + 6, "F").Value ' Dob
arr(i, 4) = .Cells(i + 6, "G").Value ' birthplace
arr(i, 5) = .Cells(i + 6, "H").Value ' address
arr(i, 6) = .Cells(i + 6, "I").Value ' phone #
Next i
End With
With Worksheets("VolunteerData")
lr = .Range("A" & .Rows.Count).End(xlUp).Row + 1
.Cells(lr, "A").Resize(UBound(arr, 1), UBound(arr, 2)) = arr
End With
With Worksheets("VolunteerData")
lr = .Range("G" & .Rows.Count).End(xlUp).Row + 1
.Cells(lr, "G").Resize(UBound(arr, 1), UBound(arr, 2)) = arr
End With
With Worksheets("VolunteerForm")
lr = .Cells(21, "D").End(xlUp).Row - 15
ReDim arr(1 To lr, 1 To 6)
For i = LBound(arr, 1) To UBound(arr, 1)
arr(i, 1) = .Cells(i + 15, "J").Value
arr(i, 2) = .Cells(i + 15, "K").Value
arr(i, 3) = .Cells(i + 15, "L").Value
arr(i, 4) = .Cells(i + 15, "M").Value
arr(i, 5) = .Cells(i + 15, "N").Value
Next i
End With
End Sub
Спасибо!