Страницы: 1
RSS
Функция Join
 
Привет всем!Вот вопрос по фунуции join!  
В темах на форуме нашел что-то вроде:  
 
Sub macros1()  
Cells(2, 14).Select  
ActiveCell.Value = Join(Application.Transpose(Application.Transpose([O2:V2])))
End Sub  
Вопросы в следующем:  
1.А Как выделить столбец типа P2:P10 для сцепления значений его элементов без пробелов?  
2.Как Сцепить значения элементов массива myarray(1 to 10) без пробелов?  
3.Как сцепить значения элементов ячеек типа M2:Q4
 
Справку читать полезно.  
Public Sub www()  
[a1] = Join([O2:V2&""], "")
[c1] = Join(Application.Transpose([P2:P10]), "")
End Sub  
 
http://www.excelworld.ru/forum/3-25-1
Я сам - дурнее всякого примера! ...
 
Пасибо, но как выделить прямоугольный диапозон, скажем, R2:S4 для того,чтобы сделать join!
 
2.Как Сцепить значения элементов массива myarray(1 to 10) без пробелов?  
3.Как сцепить значения элементов ячеек типа M2:Q4
 
справку таки читать не стали.  
не барское дело?  
 
а между тем там черным по белому написано, что функция Join работает с одномерными массивами.  
 
надеюсь, перед тем, как спрашивать, каким образом получить из двумерного массива набор одномерных, вы таки почитаете справку.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
А еще я ссылку привел, где обсуждалась работа с двумерным массивом.
Я сам - дурнее всякого примера! ...
 
Извините, но у меня справка на английском, а я владею им не очень хорошо!  
 
One-dimensional array containing substrings to be joined. Наверное вот это!  
Но вопрос 2 актуален!  
2.Как Сцепить значения элементов массива myarray(1 to 10) без пробелов, и результат в [A1]
 
Да так же, как и с листа. Обратите внимание на второй параметр функции join.
Я сам - дурнее всякого примера! ...
 
{quote}{login=countervector}{date=20.10.2012 11:55}{thema=}{post}Извините, но у меня справка на английском, а я владею им не очень хорошо!{/post}{/quote}  
"такая же фигня" (с)  
 
вы будете смеяться, но в ТОМ ЖЕ САМОМ интернете, в котором находится данный форум, существует много страничек с переводчиками.    
например, http://translate.google.com/  
 
качество, конечно, не ахти и переводить ими шекспира я бы не советовал, но для компьютерной справки сойдёт.  
 
countervector, я вам по секрету скажу - лентяев и халявщиков нигде и никто не любит.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Ребят, я понял!Однако ответьте пожалуйста на вопрос 2 по точнее.  
Что тут не правильно?  
 
Sub macros2()  
Dim m(1 To 10)  
m(1) = 1  
m(2) = 2  
m(3) = 33  
[a1] = Join([m(1):m(3)&""], "")
End Sub
 
почти всё :)  
 
функции нельзя передать ЧАСТЬ массива.  
квадратные скобки работают только с адресами ячеек.    
 
можно так:  
[a1]=join(array(1,2,3),"")
 
можно так:  
dim m, a, i%  
m=array(1,2,3,4,5,6,7,8,9,10)  
redim a(1 to 3)  
for i=1 to 3: a(i)=m(i+2): next  
[a1]=join(a,"")
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Спасибо Вам ребят: Ikki и KukLP!  
То что надо:  
 
[a1] = Join([O2:V2&""], "") 'для строки
[b1] = Join(Application.Transpose([P2:P10]), "") 'для столбца
[c1]=join(array(1,2,3,4,5,6,7,8,9,10),"") 'для массива
 
Небольшйое уточнение  
Sub procedure1()  
ReDim a(1 To 10)  
a(1) = "okey"  
a(2) = 1999  
a(3) = "Oops"  
[a1] = Join(Array(a(1), a(2), a(3)), "")
[a2] = Join(Array("text1", "text2", 2012, 1999), "")
End Sub
Страницы: 1
Читают тему
Наверх