Как я могу извлечь значение ячейки из объекта диапазона? Вроде должно быть просто. Этот вопрос Stackoverflow и ответы не очень помогли. Вот что я хочу сделать, но каждый раз происходит сбой с исключением для row.columns(0,0).
Dim rdr = oFindings.Range
For Each row As Excel.Range In rdr.Rows
Dim Account = row.Columns(0,0).value2.tostring
' Do other stuff
Next
Чтобы заставить его работать, мне пришлось реализовать этот код:
For Each row As Excel.Range In rdr.Rows
ndx = 0
For Each cell As Excel.Range In row.Columns
If ndx = 0 Then Account = NS(cell.Value2)
' Do other stuff
ndx += 1
next
Next
Это похоже на такой ляп. В чем секрет?
0
не является допустимым индексом строки или индексом столбца в Excel VBA - person Ron Rosenfeld   schedule 02.09.2015Columns(0,0)
не является допустимой ссылкой на диапазон. Я не уверен, как это может относиться к проблеме ОП, но я чувствовал, что это может быть полезной информацией. - person Ron Rosenfeld   schedule 02.09.2015row
илиcell
в качестве переменной, потому чтоRow
иCell
означают что-то неявное для VBA. Я бы изменил эту переменную наxRow
илиcel
или что-то в этом роде. Не хочу вызвать путаницу в будущем! - person BruceWayne   schedule 02.09.2015rowindex
иcolumnindex
- это именованные аргументы для различных объектов диапазона VBA. Я хотел сказать, что в дополнение к тому, что вы уже указали на недопустимость объекта OP Columns с двумя аргументами, в VBA этот аргумент не может быть равен нулю. - person Ron Rosenfeld   schedule 02.09.2015