Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как можно в VBA использовать переменные в функции Range ? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как можно в VBA использовать переменные в функции Range ? (Макросы/Sub)
Как можно в VBA использовать переменные в функции Range ?
ykrivoi Дата: Понедельник, 21.06.2021, 13:35 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Подскажите пожалуйста, как можно в VBA использовать переменные в функции Range ?
Например, выражение 1 работает корректно. 1). [vba]
Код
Range(Cells(1, 10), Cells(1, 10)).Value = 300
[/vba]
Вместо Cell (1,10) хотел бы использовать Cell (I,K) ....
Пытаюсь по аналогии заменить Range("$A2:$D$61") на Range(Cells(2, 1), Cells(61, 4)) - вылетает ошибка 1004
Применяю совместно с LOOKUP. Выражение 2 работает корректно, выражение 3 с ошибкой 1004.
2).[vba]
Код
Rezult3 = WorksheetFunction.VLookup(Range(Cells(7, 4), Cells(7, 4)), Workbooks("bill.xlsx").Sheets("Phone").Range("$A2:$D$61"), 4, 0)
[/vba]
3).[vba]
Код
Rezult3 = WorksheetFunction.VLookup(Range(Cells(7, 4), Cells(7, 4)), Workbooks("bill.xlsx").Sheets("Phone").Range(Cells(2, 1), Cells(61, 4)), 4, 0)
[/vba]
При этом доступ к файлу и листу есть.
[vba]
Код
Workbooks.Open "D:\Test\Bill.xlsx"
ActiveSheet.Name = "Phone"
[/vba]
Может есть какие идеи?
Спасибо!


Сообщение отредактировал ykrivoi - Вторник, 22.06.2021, 09:52
 
Ответить
СообщениеПодскажите пожалуйста, как можно в VBA использовать переменные в функции Range ?
Например, выражение 1 работает корректно. 1). [vba]
Код
Range(Cells(1, 10), Cells(1, 10)).Value = 300
[/vba]
Вместо Cell (1,10) хотел бы использовать Cell (I,K) ....
Пытаюсь по аналогии заменить Range("$A2:$D$61") на Range(Cells(2, 1), Cells(61, 4)) - вылетает ошибка 1004
Применяю совместно с LOOKUP. Выражение 2 работает корректно, выражение 3 с ошибкой 1004.
2).[vba]
Код
Rezult3 = WorksheetFunction.VLookup(Range(Cells(7, 4), Cells(7, 4)), Workbooks("bill.xlsx").Sheets("Phone").Range("$A2:$D$61"), 4, 0)
[/vba]
3).[vba]
Код
Rezult3 = WorksheetFunction.VLookup(Range(Cells(7, 4), Cells(7, 4)), Workbooks("bill.xlsx").Sheets("Phone").Range(Cells(2, 1), Cells(61, 4)), 4, 0)
[/vba]
При этом доступ к файлу и листу есть.
[vba]
Код
Workbooks.Open "D:\Test\Bill.xlsx"
ActiveSheet.Name = "Phone"
[/vba]
Может есть какие идеи?
Спасибо!

Автор - ykrivoi
Дата добавления - 21.06.2021 в 13:35
Serge_007 Дата: Понедельник, 21.06.2021, 13:45 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
Здравствуйте

Оформляйте посты тегами, согласно правилам форума

Вместо Cell (1,10) хотел бы использовать Cell (I,K)
[vba]
Код
Sub ykrivoi1()
I = 1
K = 10
Cells(I, K).Value = 300
End Sub
[/vba]

[vba]
Код
Sub ykrivoi2()
i = 1
k = 10
i2 = 2
k2 = 20
Range(Cells(i, k), Cells(i2, k2)).Value = 300
End Sub
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЗдравствуйте

Оформляйте посты тегами, согласно правилам форума

Вместо Cell (1,10) хотел бы использовать Cell (I,K)
[vba]
Код
Sub ykrivoi1()
I = 1
K = 10
Cells(I, K).Value = 300
End Sub
[/vba]

[vba]
Код
Sub ykrivoi2()
i = 1
k = 10
i2 = 2
k2 = 20
Range(Cells(i, k), Cells(i2, k2)).Value = 300
End Sub
[/vba]

Автор - Serge_007
Дата добавления - 21.06.2021 в 13:45
RAN Дата: Понедельник, 21.06.2021, 14:46 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Rezult3 = WorksheetFunction.VLookup(Range(Cells(7, 4), Cells(7, 4)), Range(Workbooks("bill.xlsx").Sheets("Phone").Cells(2, 1), Workbooks("bill.xlsx").Sheets("Phone").Cells(61, 4)), 4, 0)
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Rezult3 = WorksheetFunction.VLookup(Range(Cells(7, 4), Cells(7, 4)), Range(Workbooks("bill.xlsx").Sheets("Phone").Cells(2, 1), Workbooks("bill.xlsx").Sheets("Phone").Cells(61, 4)), 4, 0)
[/vba]

Автор - RAN
Дата добавления - 21.06.2021 в 14:46
ykrivoi Дата: Понедельник, 21.06.2021, 15:20 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

RAN, к сожалению, та же ошибка 1004

может играть роль, что Lookup использует листы из разных рабочих книг?
 
Ответить
СообщениеRAN, к сожалению, та же ошибка 1004

может играть роль, что Lookup использует листы из разных рабочих книг?

Автор - ykrivoi
Дата добавления - 21.06.2021 в 15:20
Pelena Дата: Понедельник, 21.06.2021, 15:28 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19162
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
[vba]
Код
With Workbooks("bill.xlsx").Sheets("Phone")
Rezult3 = WorksheetFunction.VLookup(Range(Cells(7, 4), Cells(7, 4)), .Range(.Cells(2, 1), .Cells(61, 4)), 4, 0)
End With
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение[vba]
Код
With Workbooks("bill.xlsx").Sheets("Phone")
Rezult3 = WorksheetFunction.VLookup(Range(Cells(7, 4), Cells(7, 4)), .Range(.Cells(2, 1), .Cells(61, 4)), 4, 0)
End With
[/vba]

Автор - Pelena
Дата добавления - 21.06.2021 в 15:28
YKR Дата: Вторник, 22.06.2021, 09:38 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 20% ±

Pelena, Pelena, Serge_007, спасибо за помощь!
Вы сделали замечание: "Оформляйте посты тегами, согласно правилам форума".
Как я могу исправить первоначальное сообщение?
Если это невозможно - прошу тогда полностью удалить мою тему..., тем более, что почему-то попал в текст фрагмент, который совсем не нужно было здесь писать.
в будущем постараюсь соблюдать
Всем хорошего дня!
 
Ответить
СообщениеPelena, Pelena, Serge_007, спасибо за помощь!
Вы сделали замечание: "Оформляйте посты тегами, согласно правилам форума".
Как я могу исправить первоначальное сообщение?
Если это невозможно - прошу тогда полностью удалить мою тему..., тем более, что почему-то попал в текст фрагмент, который совсем не нужно было здесь писать.
в будущем постараюсь соблюдать
Всем хорошего дня!

Автор - YKR
Дата добавления - 22.06.2021 в 09:38
Serge_007 Дата: Вторник, 22.06.2021, 09:45 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
Как я могу исправить первоначальное сообщение?
Я вчера уже отредактировал топик


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Как я могу исправить первоначальное сообщение?
Я вчера уже отредактировал топик

Автор - Serge_007
Дата добавления - 22.06.2021 в 09:45
ykrivoi Дата: Вторник, 22.06.2021, 10:02 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Serge_007, можно вас попросить удалить из моей темы фрагмент, где написаны две подпрограммы
Sub ykr1() и ykr2() - они видимо попали по ошибке копирования текста и к теме не относится никак.
Для меня этот фрагмент почему то закрыт для правок.
Спасибо!
 
Ответить
СообщениеSerge_007, можно вас попросить удалить из моей темы фрагмент, где написаны две подпрограммы
Sub ykr1() и ykr2() - они видимо попали по ошибке копирования текста и к теме не относится никак.
Для меня этот фрагмент почему то закрыт для правок.
Спасибо!

Автор - ykrivoi
Дата добавления - 22.06.2021 в 10:02
Serge_007 Дата: Вторник, 22.06.2021, 10:27 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
Sub ykr1() и ykr2()
Нет таких макросов в этой теме
Есть Sub ykrivoi1() и Sub ykrivoi2() - это 2 макроса, которые написал я, что бы ответить на вопрос топика (как использовать переменные в адресах ячеек)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Sub ykr1() и ykr2()
Нет таких макросов в этой теме
Есть Sub ykrivoi1() и Sub ykrivoi2() - это 2 макроса, которые написал я, что бы ответить на вопрос топика (как использовать переменные в адресах ячеек)

Автор - Serge_007
Дата добавления - 22.06.2021 в 10:27
ykrivoi Дата: Вторник, 22.06.2021, 15:19 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Serge_007, удивительное дело, эти макросы почти 1:1 есть в коде и я подумал, что их скопировал случайно.
 
Ответить
СообщениеSerge_007, удивительное дело, эти макросы почти 1:1 есть в коде и я подумал, что их скопировал случайно.

Автор - ykrivoi
Дата добавления - 22.06.2021 в 15:19
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как можно в VBA использовать переменные в функции Range ? (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!