Excel как получить диапазон? #95926


#0 by дущ
Есть 4-ре числа (n,m,p,q): первое и второе определяют координаты левой верхней ячейки, третье и четвёртое определяют координаты правой нижней ячейки.Задача: из 1С-а создать в екселе книгу и выделить диапазон ячеек определённый этими числами;Решение:НЕ РАБОТАЕТи не работает именно последняя строка, хотя в VBA аналогичная конструкция замечательно работает, например макрос    Application.Range(Application.Cells(1, 5), Application.Cells(5, 7)).Selectочень даже замечательно работает, так почему не работает в 1С и как сделать что бы заработало?Помогите, люди добрые, замучался уже...
#1 by Michael
А ты сначала напиши так жеОкноЕкселя.Range(ОкноЕкселя.Cells(1, 5), ОкноЕкселя.Cells(5, 7)).Select;А то m,n...может они все 1 равны :-) (шутка)
#2 by дущ
как только не писал, уже часа 3 с этой, в принципе, пустяковой проблемой ёрзаю... а толку... :'(
#3 by AlexVV
А зачем надо выделение?
#4 by AlexVV
Вот пример операции над областью:
#5 by дущ
вообще строго говоря там у меня далеко не выделение, но для упрощения можно считать что выделение;конструкция Область = ОкноExcel.Range("A1:D4") очень даже неплоха, но у неё есть один минус, я не могу указать диапазон по переменным номерам столбцов, т.е. когда конкретные номера столбцов у меня определяются в момент работы программы, т.е. номер столбца (A) у меня записан в переменную m, а значение второго столбца (D) у меня хранится во второй переменной q.
#6 by leosoft
Диапазон - это строка ... Поэтому можно попробовать формироватьстроку программно, например, S1=..., а потом написать Range(S1).
#7 by дущ
полностью согласен с , только как её сформатировать? Переводить цифры 1,2, 3, 4 в буквы A, B, C, D? А если у меня цифра 2549, какие это буквы?
#8 by дущ
+
#9 by panda
Зачем буквы?????Если у тебя цифры, так и пиши цифры R2549C2549
#10 by дущ
рад бы, однако ексель такое ограничение накладывает, что в Range, нельзя указывать адреса в стиле R1C1, вот и думаю как бы это обойти...
#11 by panda
Вообще, есть много вариантов, например:
#12 by дущ
Урраааа! Заработало... Метод, конечно, не очевидный, но зато работает...Спасибо panda...
#13 by panda
Если нужен только select можно сделатьApplication.Goto("R1C2")
#14 by Anomaly
если не секрет, как вам удалось получить 2549 столбцов в Excel? ))
#15 by primus
А подскажите как в ячейку Екселя записать числоЕсли можно - пример
#16 by AlexVV
#17 by AlexVV
#18 by smaharbA
а что так небывает - Область = ОкноExcel.Range("A"+строка(m)+":"+строка(q)+"D4"), или я чегойто не понимаю
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С