Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.08.2010, 08:30   #1
hotcoffee
Новичок
Джуниор
 
Регистрация: 26.08.2010
Сообщений: 2
По умолчанию переход по ячейкам

i = 1
r = 9
p = 8

Do While i < 13

Range("B" + r + ":Y" + r).Select
Selection.Copy
Range("Z" + p).Select

вот этот код представляет мои намерения )
т.е. с изменением перменной r я хочу переходить к следующим строкам
как это сделать правильно?
вба вижу в первый раз
hotcoffee вне форума Ответить с цитированием
Старый 26.08.2010, 09:25   #2
Skif-F
Форумчанин
 
Регистрация: 24.03.2010
Сообщений: 349
По умолчанию

можно так:
Код:
Range("B" & r & ":Y" & r).Select
Selection.Copy
Range("Z" & p).Select
Нет нерешаемых задач - есть недостаток времени и данных!
Skif-F вне форума Ответить с цитированием
Старый 26.08.2010, 09:32   #3
alebed
Пользователь
 
Аватар для alebed
 
Регистрация: 26.05.2010
Сообщений: 77
По умолчанию Как бродить по ячейкам

Этот код работать не будет поскольку при
Range("B" & r & ":Y" & r).Select - получим сообщение об ошибке из-за несовпадения типов.
Правильно будет
Range("B" & Trim(Str(r)) & ":Y" & Trim(Str(r)). Select

Можно попробовать такой вариант

Sub Перемещение()
Dim VerhNiz As Integer, LevoPravo As Integer
' перемещением по строкам (вверх/вниз) задается в зависимости
' от значения установленного в яч. А1 (- вверх / + вниз)
VerhNiz = Range("A1").Value
' перемещением по колонкам (влево/вправо) задается в зависимости
' от значения установленного в яч. А2 (- влево / + вправо)
LevoPravo = Range("A2").Value
' Задаем начальную ячейку от которой будем двигаться. К примеру А3
Range("A3").Select
ActiveCell.Offset(VerhNiz, LevoPravo).Select
End Sub

Поскольку ув hotcoffe не силен(а) в ВБА постарался быть подробным в описании
Спасибо и Пасибы принимаются на WebMoney в американских Z143254902288 или русских R388611339241 монетах

Последний раз редактировалось alebed; 26.08.2010 в 09:34. Причина: Дополнение
alebed вне форума Ответить с цитированием
Старый 26.08.2010, 09:32   #4
hotcoffee
Новичок
Джуниор
 
Регистрация: 26.08.2010
Сообщений: 2
По умолчанию

большое спасибо
hotcoffee вне форума Ответить с цитированием
Старый 26.08.2010, 09:34   #5
Skif-F
Форумчанин
 
Регистрация: 24.03.2010
Сообщений: 349
По умолчанию

Цитата:
Сообщение от alebed Посмотреть сообщение
Этот код работать не будет поскольку при
получим сообщение об ошибке из-за несовпадения типов.
однако, работает (Excel 2007).
Не работает, если поставить вместо амперсанда плюсик.
Нет нерешаемых задач - есть недостаток времени и данных!
Skif-F вне форума Ответить с цитированием
Старый 26.08.2010, 09:46   #6
alebed
Пользователь
 
Аватар для alebed
 
Регистрация: 26.05.2010
Сообщений: 77
По умолчанию

Если необходимо выбрать диапазон ячеек (к примеру 6)
то строку
ActiveCell.Offset(VerhNiz, LevoPravo).Select
необходимо заменить на
Range(ActiveCell.Offset(VerhNiz, LevoPravo), ActiveCell.Offset(VerhNiz + 2, LevoPravo + 2)).Select

For Skif-F я опечатался, хотел написать про + но при наборе автоматом заменил на ампы
Спасибо и Пасибы принимаются на WebMoney в американских Z143254902288 или русских R388611339241 монетах
alebed вне форума Ответить с цитированием
Старый 26.08.2010, 10:11   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Если переменные i, r и p есть числа, то лучше использовать не Range(...), а Cells(...).
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Диапазон раскидать по ячейкам bysteps Microsoft Office Excel 7 20.03.2010 23:31
Разделение текста по ячейкам Flangini Microsoft Office Excel 11 25.02.2010 13:02
Комментарии к ячейкам nikolai_P Microsoft Office Excel 1 18.06.2009 13:54
Переход по "ячейкам" матрицы LiaBerk Помощь студентам 0 13.06.2009 15:29
Обрашение к фиксированным ячейкам Лубышев Помощь студентам 1 29.10.2008 13:47