У меня есть макрос, который копирует некоторые данные в таблицу на другом листе, но я хочу, чтобы он также удалял исходные данные из своих ячеек после копирования. Я посмотрел в Интернете и нашел метод .clearContents
, который, похоже, работал, однако, когда я использовал его для очистки определенного диапазона ячеек, например, Worksheets("sheet").range("B4:B10").clearContents
, он также очищал данные вне этого диапазона.
Это весь мой макрос:
Sub YesTrade()
Dim lastRow As Long
Dim currentDate As String
currentDate = Date
lastRow = Worksheets("Trades").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Trades").Cells(lastRow + 1, 1).Value = Date
Worksheets("Calculator").Range("B4").Copy Worksheets("Trades").Cells(lastRow + 1, 2)
Worksheets("Calculator").Range("B5").Copy Worksheets("Trades").Cells(lastRow + 1, 3)
Dim f5 As Double
Dim f7 As Double
f5 = Worksheets("Calculator").Range("F24").Value
f7 = Worksheets("Calculator").Range("F17").Value
Worksheets("Trades").Cells(lastRow + 1, 5).Value = f5
Worksheets("Trades").Cells(lastRow + 1, 7).Value = f7
Worksheets("Calculator").Range("B4:B10").ClearContents
End Sub
Последняя строка предназначена для очистки данных в ячейках от B4 до B10, однако вместо этого она очищает все содержимое всего столбца B и F колонка.