Добрый день! Помогите, пожалуйста, с кодом VBA (код не мой, но я вроде его освоил):
Интересует как поправить код, чтобы заполнение данных шло не с ячейки A1, а, например, F5 (и любой другой позиции). Лист для данных исходно пустой, потом нужно добавлять новые записи с новой строки. Сейчас код подсчитывает количество строк с данными и добавляет данные на 1 строку ниже. Можно ли как-нибудь привязать операцию, что если на листе есть ячейка с "Предмет", то данные из формы заполняются под этой ячейкой, а если под этим полем есть данные то добавляет на строку ниже?
Спасибо большое!
Код |
---|
Option Explicit Private Sub cmdAdd_Click() Dim iRow As Long Dim ws As Worksheet Set ws = Worksheets("PartsData") '''find first empty row in database ''iRow = ws.Cells(Rows.Count, 1) _ '' .End(xlUp).Offset(1, 0).Row 'revised code to avoid problems with Excel tables in newer versions iRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, _ SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1 'check for a part number If Trim(Me.txtPart.Value) = "" Then Me.txtPart.SetFocus MsgBox "Please enter a part number" Exit Sub End If 'copy the data to the database ws.Cells(iRow, 1).Value = Me.txtPart.Value ws.Cells(iRow, 2).Value = Me.txtLoc.Value ws.Cells(iRow, 3).Value = Me.txtDate.Value ws.Cells(iRow, 4).Value = Me.txtQty.Value 'clear the data Me.txtPart.Value = "" Me.txtLoc.Value = "" Me.txtDate.Value = "" Me.txtQty.Value = "" Me.txtPart.SetFocus End Sub |
Интересует как поправить код, чтобы заполнение данных шло не с ячейки A1, а, например, F5 (и любой другой позиции). Лист для данных исходно пустой, потом нужно добавлять новые записи с новой строки. Сейчас код подсчитывает количество строк с данными и добавляет данные на 1 строку ниже. Можно ли как-нибудь привязать операцию, что если на листе есть ячейка с "Предмет", то данные из формы заполняются под этой ячейкой, а если под этим полем есть данные то добавляет на строку ниже?
Спасибо большое!