Я использую Excel 2013 для создания кода VBA, который позволит мне переносить данные из одной рабочей книги (шаблон счета-фактуры из Excel) в другую рабочую книгу (журнал счетов-фактур).
Мне нужно, чтобы определенные ячейки из счета-фактуры были перенесены в журнал. Например:
L4 (includes the invoice number)
L13 (includes the date of the invoice)
L58 (includes the total amount of the invoice)
E13 (Billed to Name of Site)
E25:E53 (includes patient names).
В журнале хотелось бы:
L4=A2
L13=B2
L58=C2
E13=D2
E25:E53=E2
и я хочу, чтобы число имен в диапазоне E25:E53 появилось в ячейке F2 журнала. F2 с будет количеством.
Я хочу, чтобы диапазон ячеек E25:53 (только имена пациентов) был объединен в одну ячейку, разделенную точкой с запятой, например:«Джон Доу; Мэри Энн; Сэм Кук».
Кроме того, я хотел бы начинать с новой строки каждый раз, когда в счет вводятся новые данные. Первый ряд журнала будет иметь заголовки. Смотрите ссылку ниже для доступа к скриншотам для примеров.
(Я не могу прикрепить актуальную книгу Excel. Если вы знаете лучший способ сделать это, пожалуйста, дайте мне знать).
Код, который у меня сейчас есть:
Sub Button3_Click()
Dim InvoiceNumber As Integer
Dim InvoiceDate As Date
Dim TotalAmt As Currency
Dim BillTO As String
Dim InmateNames As String
Dim Qty As Integer
Worksheets("Invoice").Select
InvoiceNo = Range("L4")
InvoiceDate = Range("L13")
TotalAmt = Range("L58")
BillTO = Range("E13")
Description = Range("E25:E53")
Worksheets("Invoice Log").Select
Worksheets("Invoice Log").Range("A1").Select
If Worksheets("Invoice Log").Range("A1").Offset(1, 0) <> "" Then
Worksheets("Invoice Log").Range("A1").End(x1Down).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = InvoiceNumber
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = InvoiceDate
По какой-то причине код начинается с "0" в качестве моего счета №. Столбцы "Дата выставления счета", "Общая сумма", "Оплачено" и «Кол-во» работают нормально. Впрочем, и имена пациентов не пополняются.