Доброе утро,
У меня аналогичная проблема: Case Like не работает в VBA
По сути, когда мы используем оператор LIKE, мы получаем разные результаты, которые, по нашему мнению, должны быть. Ее, кажется, просто прыгают до конца без каких-либо результатов, но мой использует первый случай, и только первый случай, игнорируя остальные, даже если они не совпадают.
Мой желаемый эффект: я хотел бы выбрать диапазон ячеек и для каждой ячейки в диапазоне зациклить экспорт значения в текстовый файл с другим префиксом в зависимости от столбца ячейки:
Sub test()
Dim r As Excel.Range, cell As Excel.Range
On Error Resume Next
Set r = Application.InputBox("Select Range", "Select Range", Type:=8)
On Error GoTo 0
If r Is Nothing Then Exit Sub
Open "C:\Users\User_Name\Documents\Macro Results\text.txt" For Output As #1
For Each cell In r
Select Case CellVal
Case cell.Address Like "$A$#"
Print #1, "Last Name: " + cell.Value + " " + cell.Address
Case cell.Address Like "$B$#"
Print #1, "First Name: " + cell.Value + " " + cell.Address
Case cell.Address Like "$C$#"
'Do Nothing Print #1, "First Name: " + cell.Value + " " + cell.Address
Case cell.Address Like "$F$#"
Print #1, "Email: " + cell.Value + " " + cell.Address
Case cell.Address Like "$G$#"
Print #1, "Phone#: " + cell.Value + " " + cell.Address
Case cell.Address Like "$H$#"
'Do Nothing
Case cell.Address Like "$I$#"
'Do Nothing
Case cell.Address Like "$J$#"
'Do Nothing
Case cell.Address Like "$K$#"
'Do Nothing
Case cell.Address Like "$L$#"
'Do Nothing
Case cell.Address Like "$M$#"
'Do Nothing
Case cell.Address Like "$N$#"
Print #1, "Token Type: " + cell.Value + " " + cell.Address
Case cell.Address Like "$O$#"
Print #1, "Token#:" + cell.Value + " " + cell.Address
Case Else
End Select
Next
Close
End Sub
Я хотел бы, чтобы вывод выглядел так:
Last Name:
First Name:
Email:
Phone#:
Token Type:
Token#:
Я не хотел добавлять каждый отдельный столбец ячейки для подобных операторов, но в тестовом макросе я смог успешно различать столбцы A и B с помощью этой техники. Это не работает в окончательной таблице.
Любая помощь или руководство будут оценены. Спасибо!
CellVal
, поэтому сразу же у вас возникает логическая ошибка:CellVal
всегда будет пустой/нулевой строкой, если вы не присвоите ей значение. - person David Zemens   schedule 08.07.2014