Страницы: 1
RSS
оператор назначения активной ячейки кликом мышки
 
Всем привет!  
Есть таблица B4:K7 с числовыми данными. Необходимо перемножить данные из 4-х конкретных ячеек, причем ячейки каждый раз меняются. Написал вот такой макрос:  
Sub ввод()  
Const BoxTitle = "значения"  
Dim a As Single, Temp As String  
Temp = InputBox("первое значение", BoxTitle)  
a = CSng(Temp)  
Temp = InputBox("второе значение", BoxTitle)  
b = CSng(Temp)  
Temp = InputBox("третье значение", BoxTitle)  
c = CSng(Temp)  
Temp = InputBox("четвертое значение", BoxTitle)  
d = CSng(Temp)  
e = a * b * c * d  
Sheets("List1").Select  
Range("I9").Select  
ActiveCell.FormulaR1C1 = e  
End Sub  
 
Как организовать макрос так, чтобы не вводить данные из ячеек вручную, а указывать курсором мышки с кликом левой кнопкой?
 
RefEdit
 
Попробуйте так  
 
Dim Rng As Range  
 
   On Error Resume Next  
   Set Rng = Application.InputBox("Укажите мышкой на нужную ячейку", "Выберите ячейку", , , , , , 8)  
   If FinalRng Is Nothing Then  
       MsgBox "Вы не выбрали ячейку!", 48, "Ошибка"  
       Exit Sub  
   End If  
   On Error GoTo 0  
 
Теперь переменная Rng будет ссылаться на указанную ячейку. Если вам нужно узнать адрес этой ячейки, то так Rng.Address, если значение, то Rng.Value и т.д.  
 
Повторите 4 раза присваивая ячейки переменным, например, Rng1, Rng2, Rng3, Rng4 и перемножmте их  
 
Result = Rng1 * Rng2 * Rng3 * Rng4
 
упс, в моём сообщение выше переменную FinalRng исправьте на Rng
 
А не проще ли поручить макросу самому выбирать ячейки, которые надо перемножить?  
 
Если вы сформулируете условия выбора таких ячеек, и прикрепите пример файла, - то мы поможем реализовать это в виде кода.
 
{quote}{login=Windows 7}{date=25.04.2011 10:35}{thema=}{post}упс, в моём сообщение выше переменную FinalRng исправьте на Rng{/post}{/quote}  
Огромное спасибо!  
А как можно организовать ввод в одно окно адреса сразу 4-х ячеек и как потом извлечь их данные?
 
{quote}{login=EducatedFool}{date=25.04.2011 11:06}{thema=}{post}А не проще ли поручить макросу самому выбирать ячейки, которые надо перемножить?  
 
Если вы сформулируете условия выбора таких ячеек, и прикрепите пример файла, - то мы поможем реализовать это в виде кода.{/post}{/quote}  
Адреса генерируются случайным образом в другой системе и передаются мне. Доступа к той системе у меня нет. Единственно что можно попробовать использовать, так это вставку полученных адресов. Вид получения типа: К4*В2*А7*С9
 
А так почему не хотите сделать?  
 
Sub СложнейшийМакрос()  
   txt = "K4*B2*A7*C9"    ' в переменную txt поместите получаемые адреса  
   Range("I9").Formula = "=" & txt  
End Sub
 
{quote}{login=Дед Мазай}{date=25.04.2011 11:38}{thema=Re: }{post}{quote}{login=Windows 7}{date=25.04.2011 10:35}{thema=}{post}упс, в моём сообщение выше переменную FinalRng исправьте на Rng{/post}{/quote}  
Огромное спасибо!  
А как можно организовать ввод в одно окно адреса сразу 4-х ячеек и как потом извлечь их данные?{/post}{/quote}  
 
я думаю (не пробовал) через InputBox с соответствующим типом - щелчки по ячейкам с зажатой клавишей Ctrl.  
затем - обрабатываем введенные данные через .Cells() или .Areas()
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
> Адреса генерируются случайным образом в другой системе и передаются мне  
В каком виде передаются? По DDE, email, голосом по телефону, голубиной почтой?
 
{quote}{login=Казанский}{date=25.04.2011 12:09}{thema=}{post}>    
В каком виде передаются? По DDE, email, голосом по телефону, голубиной почтой?{/post}{/quote}  
На сайте по запросу появляется окно с данными
 
{quote}{login=EducatedFool}{date=25.04.2011 11:06}{thema=}{post}  
 
Если вы сформулируете условия выбора таких ячеек, и прикрепите пример файла, - то мы поможем реализовать это в виде кода.{/post}{/quote}  
С макросами столкнулся впервые, так-что если поможете с кодом - буду признателен.  
Во вложении образец.
 
Дед Мазай. Игорь (EduacatedFool) написал    
 
"сформулируете условия выбора таких ячеек и приложите файл", а вы лишь приложили файл. Осталось выполнить 1-ю часть совета Игоря
 
{quote}{login=}{date=25.04.2011 12:59}{thema=}{post}Осталось выполнить 1-ю часть совета Игоря{/post}{/quote}  
Необходимо вывести в любую свободную ячейку результат перемножения чисел из 4-х определенных ячеек. Номера ячеек (постоянно меняются) получаю с сайта, по запросу появляется окно с данными типа K4*B2*A7*C9. Хотелось бы скопировав с окна сайта и вставив в свободную ячейку таблицы полученные номере, получить результат перемножения.
 
{quote}{login=Дед Мазай}{date=25.04.2011 01:17}{thema=Re: }{post}{quote}{login=}{date=25.04.2011 12:59}{thema=}{post}Осталось выполнить 1-ю часть совета Игоря{/post}{/quote}  
Необходимо вывести в любую свободную ячейку результат перемножения чисел из 4-х определенных ячеек. Номера ячеек (постоянно меняются) получаю с сайта, по запросу появляется окно с данными типа K4*B2*A7*C9. Хотелось бы скопировав с окна сайта и вставив в свободную ячейку таблицы полученные номере, получить результат перемножения.{/post}{/quote}  
 
вы ответы читаете? проверяете? пробуете?  
на данный вопрос вам EducatedFool ещё в 12:02 ответил.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Вот, в первом приближении.  
 
Кстати, K4,B2,A7,C9 - это Экселевские имена ячеек или координаты по первой строке и первому столбцу вашей таблицы?
 
{quote}{login=Казанский}{date=25.04.2011 01:43}{thema=}{post}Вот, в первом приближении.  
 
Кстати, K4,B2,A7,C9 - это Экселевские имена ячеек или координаты по первой строке и первому столбцу вашей таблицы?{/post}{/quote}  
Это координаты.
 
{quote}{login=Казанский}{date=25.04.2011 01:43}{thema=}{post}Вот, в первом приближении.  
 
{/post}{/quote}  
Спасибо, то что нужно.
 
С координатами:
Страницы: 1
Читают тему
Наверх
Loading...