2012-03-15 4 views
0

У меня есть два столбца с идентификатором, таким как «TCG45436», в обоих из них. В первой колонке содержится число в скобках типа «TCG45436 (5)». Мне нужно проверить оба столбца, чтобы увидеть, совпадают ли идентификаторы, и очистить содержимое ячейки в столбце 2, если они этого не сделают. Проблема в том, что два не будут совпадать, если столбец включает в себя (5), но мне нужен только идентификатор, который должен совпадать в обоих столбцах. В прошлом я делал что-то подобное с помощью подстрок, чтобы найти, являются ли столбцы 2 подстрокой столбца один, но я не могу понять, как применить это здесь.Как проверить, является ли значение ячейки дополнительным значением другой ячейки

По существу, я хочу, чтобы B30 и B32-B37 были очищены в этом фрагменте.

Excel ScreenShot http://img526.imageshack.us/img526/7646/24288154.png

Sub TwoColumns() 
Do Until ActiveCell.Value = "" 
Column1 = ActiveCell.Value 
Column2 = ActiveCell.Offset(0, 1).Value 

If Column1 = Column2 Then 'needs to be If Column2 is equal to or a subvalue of Column1 
Else 
    ActiveCell.Offset(0, 1).ClearContents 
End If 
    ActiveCell.Offset(1, 0).Select 
Loop 
End Sub 

Благодаря

+0

И b30 и b32 тоже? Всегда ли существует пространство перед (x)? – assylias

+0

@assylias Да, извините, я не умею читать. Вот почему я не хочу делать это вручную на 1200 строк. Я изменю его выше и надеюсь, что никто не заметит. –

ответ

3

Вы, вероятно, хотите использовать InStr функцию:

If InStr(0, Column1.Value, Column2.Value) <> 0 Then 'it's a substring. 
+0

Именно эта функция мне нужна. Благодаря! –

+3

К сожалению ... 1) '! =' Не VBA, используйте '<>'. 2) Это не будет компилироваться, потому что скобки не совпадают. 3) После исправления этих условий условие будет всегда * истинным, так как 'InStr' не может вернуть -1 ... Надеюсь, @ChrisHull заметил это. Я исправил ваш ответ. –

+0

@ Jean-François Corbett - Я заметил все эти вещи! Просто изучение INSTR было всем, что мне нужно, и мне удалось внести эти небольшие изменения в соответствии с моими потребностями. Спасибо за редактирование ответа для нас. –