Есть необходимость изменения данных в умной таблице, но в определенной строке. Каким образом в VBA можно обратиться к определенной строке (к примеру к 10) в умной таблице, и заменить данные в столбцах к примеру (6,7,8 )? Желательно решение с помощью объектов.
Код
Dim Table As ListObject
Dim CHRow As ListRow
Set CHRow = Table.ListRows(10)
arrb = CH.Value
CH.Range = Array(arrb(1, 1), arrb(1, 2), arrb(1, 3), arrb(1,4), arrb(1, 5), "Ляля", Now, "Куку")
Dim arr
arr=CHRow.Range.Value
arr(1,6)="Ляля"
arr(1,7)=Now
arr(1,8)="Куку"
CHRow.Range.Value=arr
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Sub t()
Dim tbl As ListObject
Dim LOrow As ListRow
Dim arr
Set tbl = ActiveSheet.ListObjects(1)
Set LOrow = tbl.ListRows(10)
arr = LOrow.Range.Value
arr(1, 1) = 1
arr(1, 2) = Now
LOrow.Range.Value = arr
End Sub
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
skais675, мне кажется вам стоит использовать Option explicit в своих макросах, тогда вы поймёте, что для компилятора CHRow и CH это вообще не одно и тоже. Там только .Range не хватает перед .Value. А то сейчас по представленному в первом сообщении коду получается - ребят, почему у меня переменная В не равна 5 вот в этом коде A= 5 Msgbox b
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄