2016-07-21 2 views
0

у меня есть этот кусок кода: Я хотел бы сделать функцию левого на клетки G и M в следующем коде: У меня возникли проблемы, как, когда я пытаюсь:Левая функция на две колонки

If left(.Cells(i, "G",4)) <> left(.Cells(i, "M",4)) this does not work. 

любой совет?

Вот полный код:

Sub SingleTradeMove() 

Dim wsTD As Worksheet 
Set wsTD = Worksheets("Trade data") 

Sheets("Sheet2").Range("A2:AK600").ClearContents 

With wsTD 

lastRow = .Range("A" & .Rows.Count).End(xlUp).Row 

For i = 2 To lastRow 

    If .Cells(i, "G") <> .Cells(i, "M") _ 
     Or .Cells(i, "I") <> .Cells(i, "O") _ 
     Or .Cells(i, "L") <> .Cells(i, "R") Then 

     .Cells(i, "J").EntireRow.Copy _ 
      Destination:=Sheets("Sheet2").Range("A" & 
    Rows.Count).End(xlUp).Offset(1) 

    End If 

    Next i 

    End With 

    End Sub 
+0

Это, вероятно, не лучший ответ (почему я только оставил это как комментарий), но, конечно, вы может сделать: 'strG = left (.Cells (i," G ", 4))' и 'strM = left (.Cells (i," M ", 4))', чтобы сделать 'If strG <> strM '. –

ответ

2

Вы должны использовать

If left(.Cells(i, "G"),4) <> left(.Cells(i, "M"),4) 
+0

Хорошее место, по какой-то причине я просто предположил, что правильное количество аргументов в 'Cells()' было использовано! –

Смежные вопросы