Страницы: 1
RSS
[ Закрыто ] прошу совет по макросу, чем заменить range (адаптирую макрос из excel в outlook)
 
Приветствую специалистов. Вопрос, вероятно, смешной, но я не программист - буду признателен за совет. Переношу макрос из Excel  в outlook - не работает ниже указанная строка. Выяснил, что range в oulook не работает. Кто-нибудь подскажет как его можно заменить?

Нужно заменить такую строку:

NumKl = Range(objXls.Worksheets("База клиентов (2)").Range("A1"), objXls.Worksheets("База клиентов (2)").Range("A1").End(xlDown)).Rows.Count

NumKl  - это количество заполненных строк в таблице файла Excel  (это значение нужно знать для запуска цикла For  to  - см. ниже по тексту)


Пробовал обойти проблему так:

Set objXls = GetObject(, "Excel.Application")
   If objXls Is Nothing Then
       Set objXls = CreateObject("Excel.Application")
            objXls.Workbooks.Open "D:\Ассортимент.xlsm"
   End If

   For Each i In objXls.Rows

и т.д.

но такой цикл выполняется бесконечное количество раз.



Цикл For i = 0 To NumKl  работает прекрасно, но нужно как-то вычислить NumKl.

Подскажите. пожалуйста, что я делаю не так, какую функцию можно использовать?
 
Название темы ....
Описание ... что должен делать макрос? зачем переносить в outlook, если потом все равно возвращаться в к Excel??
 
Иван, это только часть макроса. Изначально макрос предназначен для групповой рассылки. Макрос использует образец письма в Outlook (заданный сиюминутно пользователем) и копирует его для каждого адресата (сохраняя изначальный формат письма - эксель так не умеет). Собственно из excel макрос берет только электронную почту клиентов и обратно не возвращается.
Изменено: VIZ_VIZ - 29.05.2019 15:05:07
 
Правила форума, о названии темы
Не нужно в сообщении столько пустоты.
Страницы: 1
Наверх