Я новичок в VBA, мой опыт - в основном записывать макросы и немного их адаптировать, и я играл с макросом, чтобы скопировать отфильтрованный диапазон на листе 1 на основе значения даты, расположенного в диапазоне листа 2«C42», часть копирования работает
Я попробовал пару решений, которые нашел в интернете, но они не работают для меня, и я не могу найти ошибку (возможно, очень простая, но мое отсутствиезнания мешают мне его найти)
Sub CopyPaste
If Worksheets("Costos Médicos").Range("C42") = Worksheets("CC1").Range("B101") Then 'both values are visually in date format "dd/mm/yyyy" but if changed to general give a number
Call Cost1 'This is a macro currently working
ElseIf Worksheets("Costos Médicos").Range("C42") = Worksheets("CC1").Range("B102") Then
Call Cost2 'This one also works fine
end if
End Sub
'Я тоже пробовал это, я пытался объявить cm
как long, string, date, но все возвращает error 9
(опять-таки отсутствие знаний)
Dim src As Worksheet
Dim tgt As Worksheet
Dim cm0 As Range
Dim cm1 As Range
Dim cm2 As Range
Set src = ThisWorkbook.Sheets("CC1")
Set tgt = ThisWorkbook.Sheets("Costos Médicos")
Set cm0 = src.Range("C42") 'This is the given date
Set cm1 = tgt.Range("B101") 'This is a date
Set cm2 = tgt.Range("B102") 'This is another date
If cm0 = cm1 Then
Call Cost1 'this Works fine by itself
ElseIf cm0 = cm2 Then
Call Cost2 'this also Works
End If
Я думаю, что проблема проста, но не могу найти ответ, я пробовал несколько решений в Интернете, но они обычно предназначены для гораздо более сложных вещей, которые я не понимаю.Любая помощь будет принята с благодарностью.