У меня есть вопрос относительно условного ЕСЛИ, и мне интересно, можете ли вы помочь мне решить его.
У меня есть два листа;
- Лист 1 - одна таблица (TbAssign)
- Лист 2 (инвентарь) - одна таблица (InventoryDetailTbl)
- Я создал макрос для копирования и вставки некоторых столбцов из Листа 2 в Лист1.Если в столбце № 33 указано условие «Сортировка».Макрос работает хорошо.С этим проблем не возникает (Переместите строки с «Triage» на Sheet1).
- Проблема, с которой я сталкиваюсь, заключается в том, что условие не совпадает (столбец № 33 не содержит слова «Triage Triage», поэтомумакрос копирует все строки в sheet1,
- Я пытался написать код условия IF, но не работает.
Не могли бы вы помочь мне понять, как я могу написать этот макроскогда условие не соответствует?
Sub Update_Inventory()
Application.ScreenUpdating = False
Dim lrow As Long
Dim dstar As Double
dstar = Timer
ThisWorkbook.Activate
lrow = Worksheets("Sheet1").Cells(Worksheets("Sheet2").Rows.Count, 4).End(xlUp).Row
lrow = lrow + 1
Worksheets("Inventory").Select
***' I have tried to write a line macro IF condition
'IF ActiveSheet.Range("InventoryDetailTbl['#33]").Value = "Triage" Then***
With ActiveSheet.ListObjects("InventoryDetailTbl")
.Range.AutoFilter Field:=33, _
Criteria1:="Triage"
Union(.ListColumns(2).DataBodyRange, _
.ListColumns(3).DataBodyRange, _
.ListColumns(4).DataBodyRange, _
.ListColumns(6).DataBodyRange, _
.ListColumns(8).DataBodyRange).Copy
End With
Worksheets("Sheet1").Select
Range("D" & lrow).PasteSpecial
Else
MsgBox "There isn't new items to move"
End if
Worksheets("Inventory").Select
With ActiveSheet.ListObjects("InventoryDetailTbl")
.Range.AutoFilter Field:=33
End With
Worksheets("Sheet1").Select
Application.ScreenUpdating = True
End Sub