сканировать ячейку с 2 переменными (ячейки (i, j)) - PullRequest
0 голосов
/ 26 февраля 2019

Моя строка 'strings' не получает никаких данных из строк, в которые она должна была получать данные из ячейки (corY, i).

Вот мой код:

Dim strings As String

corY = 2

For i = 5 To 20

strings = ActiveWorkbook.ActiveSheet.Range(Cells(corY, i)).Value

MsgBox (strings)


Next i

Ответы [ 3 ]

0 голосов
/ 26 февраля 2019

Проблема заключается в использовании «диапазона», а затем «ячеек».Это работает для меня со строками в столбце "B" в Excel.

 Sub test5()

 Dim strings As String
 Dim k As Integer

 k = 5
 i = 2

 corY = 2

 For i = 2 To k

 strings = ActiveWorkbook.ActiveSheet.Cells(i, corY).Value

 MsgBox (strings)


 Next i

 End Sub
0 голосов
/ 26 февраля 2019

Используя что-то вроде следующего, вы получите отзыв о том, какой диапазон фактически отображается:

Option Explicit
Sub ShowCells()
    Dim myString As String
    Dim myRange As Range
    'Dim iCt As Integer, corY As Integer
    Dim iCt As Long, corY As Long
    corY = 2
    For iCt = 5 To 20
        Set myRange = ActiveWorkbook.ActiveSheet.Cells(corY, iCt)
        myString = myRange.Value
        MsgBox (myRange.Address & ":" & myString)
    Next iCt
End Sub
0 голосов
/ 26 февраля 2019

Заменить:

strings = ActiveWorkbook.ActiveSheet.Range(Cells(corY, i)).Value

на:

strings = ActiveWorkbook.ActiveSheet.Cells(corY, i).Value

ПРИМЕЧАНИЯ:

Один Cells() внутри Range() неРабота.Однако вот несколько примеров установки диапазона, который будет работать:

Sub examples()
    Dim r As Range

    Set r = Workbooks("qwerty.xlsm").Worksheets("Junp").Range("A1:B15")
    Set r = Worksheets("Junp").Range("A1:B15")
    Set r = Range(Cells(1, 1), Cells(15, 2))
    Set r = Range("Junp!A1:B15")
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...