У меня есть следующий код:переменная VBA не принимают значений
Dim intCounter As Integer
Dim intCounter2 As Integer
Dim rngExchange As Range
Dim rngExchange2 As Range
Dim control As Integer
Dim control2 As Integer
intCounter = 1
intCounter2 = 1
Do While Worksheets("Sheet2").Cells(2, intCounter2) <> ""
If Worksheets("Sheet2").Cells(2, intCounter2).Value = "Isin" Then
With Worksheets("Sheet2")
Set rngExchange2 = .Range(.Cells(2, intCounter2), .Cells(2, intCounter2))
control2 = intCounter2
End With
End If
intCounter2 = intCounter2 + 1
Loop
код находит колонку с названием Исиным, а затем я использую переменную Control2 для операций с этой колонкой. Однако, во-первых, rngExchange2 не принимает значение «Isin», а во-вторых, переменная control2 остается 0. Помогите с этим.
Из того, что вы говорите, кажется, что это не входит в цикл. Столбцы перед «Исин» - все со значениями? – Vityata
Почему бы не использовать метод «Найти» (объекта диапазона)? Гораздо быстрее, чем зацикливание ячейки по ячейке в VBA. Кроме того, использование «Integer» для индексов ячеек рискует переполнением. Вместо этого используйте 'Long'. –
Вы проверили, как работает ваш код, поместив курсор в код и нажав F8? –