Я заполняю рабочий лист «Инфо» с данными клиента. Затем я вручную копирую те же данные клиента на другой рабочий лист «Заказы». «Заказы» содержат номера счетов-фактуры и структуру, как это:Скопируйте на следующую доступную строку на листе
A D E F H J
INVOICE FIRSTNAME LASTNAME DESCRIPTION POSTCODE EMAIL
1 1234 Fred Smith Red widget AR225H [email protected]
2 1235 Bill Jones Blue widget EH66VT [email protected]
3 1236
4 1237
Я желаю, чтобы создать макрос для копирования моих данных из «Info» в «Заказы», по ячейкам. Я могу это сделать, но мне нужен условный комментарий, в котором говорится: «Если столбец« Заказы D »пуст, а затем выберите строку 3 для копирования данных в». Если у меня этого нет, я перезаписываю последнюю строку заказа.
Обратите внимание, что данные клиента меняются на листе «Информация» каждый раз, поэтому я вручную копирую его.
Я в настоящее время использую эту формулу, чтобы тянуть в следующем доступном номере счета в мой Инфолист:
= INDEX (! Заказы $ A: $ A, COUNTA (Orders $ D: $ D) +1)
Это позволяет мне иметь ячейку (скажем F3) на листе «Информация», которая уже содержит нужный номер счета для распределения для текущих данных клиента. Используя это, я мог бы переписать условие «Вставить информацию в строку, где Info! F3 появится в столбце« Заказы! »A».
Вот макрос, если это помогает:
Sub Macro2()
'
' Macro2 Macro
'
'
Range("B6").Select
Selection.Copy
Sheets("Orders").Select
Range("C735").Select
ActiveSheet.Paste
Sheets("Info").Select
Range("B7").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Orders").Select
Range("D735").Select
ActiveSheet.Paste
Sheets("Info").Select
Range("B8").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Info").Select
Range("B11").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Orders").Select
Range("E735").Select
ActiveSheet.Paste
Sheets("Info").Select
Range("B12").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Orders").Select
Range("F735").Select
ActiveSheet.Paste
Sheets("Info").Select
Range("B15").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Orders").Select
Range("G735").Select
ActiveSheet.Paste
Sheets("Info").Select
ActiveWindow.SmallScroll Down:=-6
Range("B3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Orders").Select
Range("B735").Select
ActiveSheet.Paste
End Sub
==================
Может быть, есть слишком много информации в этом вопросе? В его простейшей форме все, что мне нужно, - это выбрать строку на основе содержимого ячейки, а затем вставить информацию в эту строку с помощью макроса.
==================
Update - здесь расположение листа «Info», обратите внимание, что не все строки совпадают столбцы в листе «Заказы» :
A B C
Invoice number: 1236
Peter
Parker
12
Overflow Road
Stacktown
BB338J
0121 345 6789
0777 789 789
[email protected]
Order description: Red widget
Вы хотите, чтобы макрос эффективно извлекал данные клиента с вашего листа «Информация» и вставлял его в свои номера счетов-фактур «Заказы»? Пример: для номера счета 1237 в 'Info' найдите номер счета 1237 в' Orders' и скопируйте данные клиента из 'Info'? –
@Remnant Да, это именно оно. У меня есть ячейка с номером требуемого номера счета в информационном листе. – Sara44
Как ваши данные структурированы на листе «Информация»? Можете ли вы добавить пример, который вы сделали для 'Orders'? –