У меня есть этот рабочий код, который ищет переменную MyVal и, если не найден, записывает данные в следующий пустой столбец.Однако я обнаружил, что в выпадающих списках не нравятся горизонтальные списки, поэтому я переместил все свои данные в вертикальный список.Мне нужно переписать свой код для поиска следующей пустой строки, а затем сослаться на эту строку, чтобы записать данные.Может ли один из вас, эксперты, взглянуть на мой существующий код и помочь мне преобразовать его в поиск и запись в следующую пустую строку вместо следующего пустого столбца?
Sub Copy_To_Borrower_DBase()
Dim ws1 As Worksheet, ws2 As Worksheet
Dim myVal As String
Dim sourceRng As Range
Dim lCol As Long
MyNote = Sheets("Main").Range("F5").Value & " already exists, do you want to
overwrite?"
myVal = Sheets("Main").Range("F5").Value ' dropdown list
Set sourceRng = Worksheets("Borrower
Database").Range("5:5").Find(What:=myVal, LookAt:=xlWhole) 'locate column
where to copy from
Set ws1 = ThisWorkbook.Sheets("Main")
Set ws2 = ThisWorkbook.Sheets("Borrower Database")
If Not sourceRng Is Nothing Then
Answer = MsgBox(MyNote, vbCritical + vbYesNo, "Overwrite??")
If Answer = vbNo Then
Exit Sub
Else
With ws2
Application.EnableEvents = False
.Cells(5, sourceRng.Column).Value = ws1.Range("F5").Value 'Borrower Name
.Range(.Cells(6, sourceRng.Column), .Cells(8, sourceRng.Column)).Value =
ws1.Range("G6:G8").Value 'Income, Credit Pmt and Car Pmt
.Range(.Cells(9, sourceRng.Column), .Cells(10, sourceRng.Column)).Value
= ws1.Range("G11:G12").Value 'Ratios
.Cells(11, sourceRng.Column).Value = ws1.Range("G15").Value 'Reserves
.Cells(12, sourceRng.Column).Value = ws1.Range("D15").Value 'Credit
Score
Application.EnableEvents = True
End With
End If
Else
With ws2
Application.EnableEvents = False
lCol = .Cells(5, .Columns.Count).End(xlToLeft).Offset(, 1).Column
.Cells(5, lCol).Value = ws1.Range("F5").Value 'Borrower Name
.Range(.Cells(6, lCol), .Cells(8, lCol)).Value =
ws1.Range("G6:G8").Value 'Income, Credit Pmt and Car Pmt
.Range(.Cells(9, lCol), .Cells(10, lCol)).Value =
ws1.Range("G11:G12").Value 'Borrower Name
.Cells(11, lCol).Value = ws1.Range("G15").Value 'Reserves
Application.EnableEvents = True
End With
End If
End Sub
Любая помощь будет принята с благодарностью :-)