Vba l oop столбец и изменить значения после подстроки - PullRequest
0 голосов
/ 06 августа 2020

Я новичок в VBA. Я хотел бы l oop через столбец и выполнить подстроку, изменяя значение каждой ячейки. Почему это не работает?

Private Sub CommandButton1_Click()
Dim rng As Range: Set rng = Application.Range("A8:A14")
Dim col As Range
For Each col In rng.Columns
    Dim new_date as String
    new_date = Left(col.Value, 5)
    col.Value = new_date
    
Next col
End Sub

1 Ответ

0 голосов
/ 06 августа 2020

Вы перебираете Columns, когда вам нужно l oop для каждой ячейки:

For Each col In rng

Я предлагаю другое имя переменной, чем col.

col, как у вас, будет относиться ко всему столбцу , т.е. A8:A14. Поскольку он состоит из нескольких ячеек, его .Value представляет собой 2D-массив, который нельзя вызвать Left.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...