перемещение данных в следующую строку - PullRequest
0 голосов
/ 14 марта 2020

Я использую форму в Excel, чтобы сделать запись даты в базе данных Excel. моя первая строка находится в строке 7. 1-я введенная дата пошла в строку 7. 2-я запись в форме все еще пошла и заменила данные в строке 7 вместо того, чтобы идти в строку 8. я знаю, что мне нужно сделать последнюю строку +1, но я не Получите, пожалуйста, если вы можете ответить до закрытия поста и направить меня к другому посту. я новичок в VBA

Dim last_row As Long

last_row = database.Range("D1").Value + 7

database.Range("b" & last_row).Value = form.Range("C4").Value
database.Range("c" & last_row).Value = form.Range("C5").Value
database.Range("d" & last_row).Value = form.Range("C6").Value
database.Range("e" & last_row).Value = form.Range("C7").Value
database.Range("f" & last_row).Value = form.Range("C8").Value
database.Range("g" & last_row).Value = form.Range("C9").Value

form.Range("c4:c6").ClearContents

MsgBox "data has been submitted" 

1 Ответ

0 голосов
/ 14 марта 2020

Попробуйте следующий код, пожалуйста:

Sub testLastRow()
 Dim last_row As Long, database As Worksheet, Form As Worksheet
   Set database = Worksheets("Your database worksheet")
   Set Form = Worksheets("Your Form worksheet")
   last_row = database.Range("D" & Cells.Rows.Count).End(xlUp).Row + 1

  With database
    .Range("b" & last_row).value = Form.Range("C4").value
    .Range("c" & last_row).value = Form.Range("C5").value
    .Range("d" & last_row).value = Form.Range("C6").value
    .Range("e" & last_row).value = Form.Range("C7").value
    .Range("f" & last_row).value = Form.Range("C8").value
    .Range("g" & last_row).value = Form.Range("C9").value
 End With
 Form.Range("c4:c6").ClearContents

 MsgBox "data has been submitted"
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...