Пожалуйста, кто-нибудь может дать совет?

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

Sub Button3_Click()
Range("E9").Formula = "=SUM(E5:E7)"
Worksheets("Sheet2").Visible = True
Dim nextRow As Integer
'Find next empty row on Sheet2
  nextRow = Sheets(2).Range("F" & Rows.Count).End(xlUp).Row + 1
'Copy Sheet1!E5:E9, Transpose to Sheet2
    Sheets(1).Range("E5:E9").Copy
    Sheets("Sheet2").Range("F6:J6").PasteSpecial Transpose:=True

'Copy Sheet1!N20 to Column G
   Sheets(1).Range("N20").Copy Destination:=Sheets(2).Range("G" & nextRow)

End Sub

1 ответ1

0

Я бы предложил явно определить имена:

Sub Button3_Click()

Range("E9").Formula = "=SUM(E5:E7)"
Set wsh2 = Worksheets("Sheet2")
Set wsh1 = Worksheets("Sheet1") 'Sheets(1)? make sure it's the first sheet or use Sheets(1)

wsh2.Visible = True

Dim nextRow As Integer
'Find next empty row on Sheet2
  nextRow = wsh2.Range("F" & Rows.Count).End(xlUp).Row + 1
'Copy Sheet1!E5:E9, Transpose to Sheet2
    wsh1.Range("E5:E9").Copy
    wsh2.Range("F6:J6").PasteSpecial Transpose:=True

'Copy Sheet1!N20 to Column G
   wsh1.Range("N20").Copy Destination:=wsh2.Range("G" & nextRow)

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .