Страницы: 1
RSS
Как получить данные всех ячеек именованного диапазона в VBA?
 
Подскажите пожалуйста как получить данные всех ячеек именованного диапазона и вставить их в текстбоксы формы?  
Именованный диапазон создан для несвязанных ячеек в кол-ве 21шт. одного столбца.  
В форме есть текстбоксы (Dannye1...Dannye21) в кол-ве тоже 21 шт., я при открытии формы пытаюсь передать данные из ячеек именованного диапазона Fakt1 в эти текстбоксы с помощью цикла:  
For i = 1 To 21  
Me.Controls("Dannye" & i) = Sheets("Лист1").Range("Fakt1").Cells(i, 1)  
Next i  
Но в результате в текстбоксы вставляются данные ячеек подряд, а не как они указаны в именованном диапазоне (он создан из не связанных ячеек), что я не так делаю?  
Наверно надо использовать не .Cells
 
Что такое "несвязанные ячейки"? Union типа =B1,A5,C9?
KL
 
Он ругается на строку For rCell = Range("Fakt1"), что нет То
 
Да не свзяанные, но в одном столбце: С11, С13, С17, С19 и т.д.
 
Split(Mid(ActiveWorkbook.Names("asd").RefersTo, 2, 9999), ",")
Живи и дай жить..
 
если в каждой области всегда одна ячейка, то можно так:  
 
Sub test()  
   For i = 1 To Range("Fakt1").Areas.Count  
       Me.Controls("Dannye" & i) = Range("Fakt1").Areas(i)  
   Next i  
End Sub
KL
 
The Prist - ругается на строку Me.Controls("Dannye" & i) = rCell  
KL - нет, есть диапазоны и по три и по пять ячеек.  
СЛЭН - прошу прощенья, а этот код для моего случая?
 
Спасибо The Prist, все работает!!!
 
Всем большое спасибо за помощь.
Страницы: 1
Читают тему
Наверх