Модуль покупок в VBA - PullRequest
       29

Модуль покупок в VBA

0 голосов
/ 30 сентября 2018

В чем ошибка в этой части?Я пытаюсь разместить свои данные в деталях транзакции bp и разбивке.У меня вопрос, как я могу решить эту проблему в VBA Code?Спасибо

Sub copypaste()
Dim rng1 As Range
Dim rng2 As Range

Set rng1 = ThisWorkbook.Sheets("bp transaction details").Range("a1:i1")

lastrow = ThisWorkbook.Sheets("bp transaction details").Cells(Rows.Count, I).End(x1Up).Row
ThisWorkbook.Sheets("bp transaction details").Range("a" & lastrow + 1 & ":I" & lastrow + 1) = rng1.Value

lastrow1 = ThisWorkbook.Sheets("bp transaction breakdown").Range("ri")
lastrow2 = ThisWorkbook.Sheets("bp transaction breakdown").Cells(Rows.Count, I).End(x1Up).Row

Set rng2 = ThisWorkbook.Sheets("bp transaction breakdown").Range("a1:i1" & lastrow1)
ThisWorkbook.Sheets("bp transaction breakdown").Range("a" & lastrow2 + I & ":i" & lastrow1 + lastrow2) = rng2.Value


MsgBox "Done"
End Sub

1 Ответ

0 голосов
/ 07 октября 2018

Может быть, это то, что вы хотите ...

Sub copypaste()
Dim rng1 As Range
Dim rng2 As Range
Dim lastrow As Integer
Dim lastrow1 As String
Dim lastrow2 As Integer


Set rng1 = ThisWorkbook.Sheets("bp transaction details").Range("A1:I1")

lastrow = ThisWorkbook.Sheets("bp transaction details").Cells(ThisWorkbook.Sheets("bp transaction details").Rows.Count, "I").End(xlUp).Row
ThisWorkbook.Sheets("bp transaction details").Range("A" & lastrow + 1 & ":I" & lastrow + 1) = rng1.Value

lastrow1 = ThisWorkbook.Sheets("bp transaction breakdown").Cells(ThisWorkbook.Sheets("bp transaction breakdown").Rows.Count, "R").End(xlUp).Row
lastrow2 = ThisWorkbook.Sheets("bp transaction breakdown").Cells(ThisWorkbook.Sheets("bp transaction breakdown").Rows.Count, "I").End(xlUp).Row

Set rng2 = ThisWorkbook.Sheets("bp transaction breakdown").Range("A1:I1" & lastrow1)
ThisWorkbook.Sheets("bp transaction breakdown").Range("A" & lastrow2 + I & ":I" & lastrow1 + lastrow2) = rng2.Value


MsgBox "Done"
End Sub

Некоторые замечания:

Я не уверен, что эта часть должна делать: 'lastrow1 = ThisWorkbook.Sheets("bp transaction breakdown").Range("ri") 'Что предполагается эта частьсделать?Найти последний ряд для столбца R?Я думаю, вы хотите найти последнюю строку в столбце R, поэтому я заменил предыдущую часть на:

lastrow1 = ThisWorkbook.Sheets("bp transaction breakdown").Cells(ThisWorkbook.Sheets("bp transaction breakdown").Rows.Count, "R").End(xlUp).Row 

Изменено: End(x1Up).Row Должно быть: End(xlUp).Row

Вы неТ нужно указать ThisWorkbook.Sheets("bp transaction details")..Только делает код более неэффективным ...

...