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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2018, 22:48   #1
S_Sasha
Новичок
Джуниор
 
Регистрация: 31.01.2018
Сообщений: 1
Сообщение Работа с диапазоном

Столкнулся в проблемой. Есть таблица (данные в ней будут пополняться), и программа которая

отправляет смс по средствами подключенного телефона. Данные в программу передаются через командную

строку.
Как можно реализовать, при выделении диапазона или путем вызова (input) окна с возможностью выбрать

диапазон с какими данными будет работать (данные в столбцах с первого по шестой), пройтись по всем

строкам и совершить выборку по строкам и считать данные и передать их. В 7 столбец, после обработки

строки записать "Да".
Вот пример которые позволяет отправить данные из первой строки.
Код:
Sub delivery()
tel = Range("A2").Value       ' номер телефона
sms = Range("B2").Value       ' смс
ddelivery = Range("C2").Value ' отправка
ddate = Range("D2").Value     ' дата
n_ttn = Range("E2").Value     ' номер отправки
kol_mest = Range("F2").Value  ' мест
Shell ("D:\sms\sms.exe -n" & Chr(34) & "+" & tel & Chr(34) & " -m" & Chr(34) & sms & " " & ddelivery & " от " & ddate & ", " & n_ttn & " " & "," & kol_mest & "м" & Chr(34)), vbHide
End Sub
Вложения
Тип файла: xls тест.xls (25.0 Кб, 15 просмотров)
S_Sasha вне форума Ответить с цитированием
Старый 31.01.2018, 23:43   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub delivery()
  Dim r&, a
  a = Range(Cells(Rows.Count, 7).End(xlUp).Offset(1, 0), Cells(Rows.Count, 1).End(xlUp)).Value
  If IsEmpty(a(2, 1)) Then Exit Sub
  For r = 1 To UBound(a)
    Debug.Print "D:\sms\sms.exe -n""+" & a(r, 1) & """ -m""" & a(r, 2) & " " & a(r, 3) & _
    " от " & Format(a(r, 4), "DD.MM.YYYY") & ", " & a(r, 5) & ", " & a(r, 6) & "м""" ') , vbHide
    a(r, 7) = "отправлено"
  Next
  Cells(Rows.Count, 7).End(xlUp).Offset(1, -6).Resize(UBound(a), 7).Value = a
End Sub
а этот - все, по-очереди
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с диапазоном Kefirrr Microsoft Office Excel 11 27.05.2014 19:48
работа с выделенным диапазоном DAN1L Microsoft Office Excel 5 29.11.2012 03:54
работа с диапазоном ячеек? panzergto Microsoft Office Excel 4 01.04.2010 21:25
Работа с именным диапазоном tae1980 Microsoft Office Excel 32 21.08.2009 11:10
работа с выделенным диапазоном nastya007 Microsoft Office Excel 5 13.03.2009 08:33