Я пытаюсь заставить работать небольшой макрос. По сути, все, что я хочу изменить, - это вставить только значения.
Я не написал большую часть этого кода, только несколько фрагментов. И это выглядит так:
Private Sub CommandButton1_Click()
Dim LRSrc As Long, LRDest As Long, SrcRng As Range
With Sheets("Input sheet")
LRSrc = .Cells(.Rows.Count, 1).End(xlUp).Row 'assumes column 1 is contiguous
Set SrcRng = .Range("A2:G" & LRSrc)
End With
If WorksheetFunction.CountA(Range("A2:G2")) = 0 Then
Dim emptyErr As Integer
emptyErr = MsgBox("Data missing or incomplete! Please type in all the fields, starting from row 2", vbOKOnly, "No data")
Else
With Sheets("General inventory")
LRDest = .Cells(.Rows.Count, 2).End(xlUp).Row
SrcRng.Copy .Cells(LRDest + 1, 2)
End With
Dim answer As Integer
answer = MsgBox("Data sent to inventory! Do you wish to clear the sheet?", vbYesNo + vbQuestion, "Empty Sheet")
If answer = vbYes Then
SrcRng.ClearContents
End If
End If
End Sub
Я пытался решить это, внося следующие изменения:
With Sheets("General inventory")
LRDest = .Cells(.Rows.Count, 2).End(xlUp).Row
SrcRng.Copy .Cells(LRDest + 1, 2).PasteSpecial(xlPasteValues)
End With
Dim answer As Integer
answer = MsgBox("Data sent to inventory! Do you wish to clear the sheet?", vbYesNo + vbQuestion, "Empty Sheet")
If answer = vbYes Then
SrcRng.ClearContents
Но это дает мне ошибку
Ошибка времени выполнения'1004':
Невозможно получить специальное свойство вставки класса Range
Я понятия не имею, как это исправить, или мне следует использовать PasteSpecial
ввсе.
Я ценю время, которое вы потратили на чтение этого письма, и благодарю вас за любые советы, которые вы можете дать.
Приветствия,
Дэвид .-