У меня есть следующий ниже код, который выполняет итерацию по строкам определенного диапазона и если значение присутствует (код не отображается), создает копии всех страниц. Моя забота находится в нижней части кода в итерации r1. Первоначально он был только один условный оператор ...Пропустить итерацию цикла, если существует определенное значение
If BiDiRowValid(r1)
, и я хотел бы добавить второй условный оператор, который я сделал ...
and Range("MAIN_BIDI_PINMC") <> "No BiDi"
, но когда я запускаю код и MAIN_BIDI_PINMC range = "No BiDi", он ошибается и не проходит мимо этой строки. FYI: IsBiDiRowValid() - это функция, которая проверяет, что конкретный r1 не пуст, а затем продолжается. Сразу после этого подпрограмма завершает и завершает мои ошибки кода с ошибкой «Ошибка несоответствия типа». Я также добавил строку ElseIf
внизу, я не получил этого кода, потому что верхние ошибки отсутствуют, но я просто хочу убедиться, что я правильно пишу эту итерацию, и если что-то еще нужно сделать. В принципе, если «NoBiDi» находится в диапазоне, я хочу, чтобы он пропустил весь этот код и перешел к следующему r1 ... вот что я думаю, что написал ... Спасибо заранее!
Private Sub start_new()
Dim MC_List As Range
Dim r1 As Range
Dim biDiPinName As Range
Dim Pin As String
Dim mc As String
Dim mType As String
Dim tabName As String
Dim rowNumber As Integer
Dim pinmcSplit() As String
Dim NoBidi As String
On Error GoTo start_biDi_tr_new_Error
Set MC_List = Range("MAIN_PINMC_TABLE")
Set biDiPinName = Range("MAIN_PIN2_NAME")
For Each r1 In MC_List.Rows
If IsBiDiRowValid(r1) And WorksheetFunction.CountIf(Worksheets("MAIN").Range("MAIN_BIDI_PINMC", "No Bidi") = 0 Then
tabName = r1.Cells(1, 8)
pinmcSplit = Split(tabName, "_")
Pin = pinmcSplit(0)
mc = pinmcSplit(1)
mType = r1.Cells(1, 3)
ElseIf WorksheetFunction.CountIf(Worksheets("MAIN").Range("MAIN_BIDI_PINMC"), "No Bidi") = 1 Then
End If
Next
Это потому, что 'Range (" MAIN_BIDI_PINMC ")' не является отдельной ячейкой, я думаю? –
Исправить. Это диапазон ячеек. Есть ли способ получить доступ к каждому конкретному значению ячейки в этом диапазоне? Возможно, итерация в этом диапазоне? Я попытался добавить .value до конца, думая, что может получить доступ к каждому конкретному значению. Но не думайте, что это правильно. –
Используйте 'Application.Worksheetfunction.Countif', чтобы проверить наличие этого слова :) –