Создание счетов с VBA - копировать / вставить цикл - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь создать модуль VBA, который берет данные из таблицы на одном листе и копирует их на второй лист.Этот второй рабочий лист затем должен быть экспортирован в формате PDF.

Экспортирующая часть и присвоение имени PDF не являются проблемой, и я буду заниматься этим только при копировании данных с одного листа на другой.

Структура таблицы такова, что у меня есть несколько строк, в которых есть данные, относящиеся к счету, который я хочу заполнить на втором листе, и я хотел бы, чтобы макрос проходил по всему файлу и брал только то, что ему нужно, нона данный момент я работаю над более простой версией, где я просто хочу скопировать данные из выбора.

Option Explicit
Sub InvoiceCreator()

'create sheet
'Add info to sheet'
'save invoice sheet as PDF with name of customer
'reset sheet
'insert i+1 dataset
'loop til end

Dim sWS As Worksheet
Dim dWS As Worksheet

Dim sRange As Range

Dim sBNR As Range
Dim dBNR As Range

Dim sKNR As Range
Dim dKNR As Range

Dim sREF As Range
Dim dREF As Range

Dim sPRT As Range
Dim dPRT As Range

Dim sDAT As Range
Dim dDAT As Range

Dim sADR As Range
Dim dADR As Range


Dim sDES As String
Dim dDES As String
'Dim sPRC As Range
'Dim dPRC As Range

Dim i As Integer
Dim lastrow As Long

Set sWS = Sheets("Data")
Set dWS = Sheets("Sheet1")

Set sRange = Selection

Set sBNR = sRange.Cells(2, 7)
Set dBNR = dWS.Range("E4")

    dBNR = sBNR.Value

Set sKNR = sRange.Cells(2, 2)
Set dKNR = dWS.Range("E6")

    dKNR = sKNR.Value

Set sREF = sRange.Cells(2, 22)
Set dREF = dWS.Range("E8")

    dREF = sREF.Value

Set sPRT = sRange.Cells(2, 23)
Set dPRT = dWS.Range("E10")

    dPRT = sPRT.Value

Set sDAT = sRange.Cells(2, 4)
Set dDAT = dWS.Range("F4")

    dDAT = sDAT.Value




lastrow = sRange.End(xlUp).Row

For i = 2 To lastrow

sDES = sRange.Cells(i, 12)

dDES = dWS.Range("A" & i + 23)


    dDES = sDES

Next i


End Sub

Большая часть кода работает и копирует значения с одного листа на другой, но я застрял споследний бит цикла.

Я хочу взять значение строки в ячейке и скопировать его в ячейку на другом листе, а затем скопировать значение ячейки в ячейке ниже и скопировать его на другой листодна ячейка внизу до конца моего выбора.Я не получаю никакой ошибки, но это не копирование данных.

Любой совет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...