Питане за Exel

3 отговора 230 прегледа
#1

Питане за Exel

Мога ли да стартирам макрос от формула? Например: IF(едикво си;стартиране на макроса;""). 10х.

Още малко толерантност никога не е излишна
Отговор
в отговор на мeтъл Джyмa #2

с функция

направи го с функция. Тя връща резултат, който явно няма значение (да речем 1), важното е да свърши работата която искаш. Тогава вече можеш да напишеш формула в клетка: IF(еди кво си,MyFunction(),"").

Отговор
в отговор на Пaлячo #3

Re: с функция

За съжаление не съм толкова напреднал, че да разбера какво ме съветваш . А освен това имам и проблем с макроса. Ето го:
Columns("A:A").Select
Selection.Copy
Range(C1).Select
ActiveSheet.Paste
Range(A1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("D1").Select
End Sub
Искам адресите (на колоните) да не са твърди, а да се определят от адреса (колоната) на текущата клетка, т.е. вместо колона А да се маркира колоната в ляво от текущата летка, след това в първи ред на дясната (на текущата клетка) колона да се пейстне съдържанието, после да се се избере клетката в ред 1 на маркираната колона и чрез PasteSpecial формулите да се превърнат в стойности, накрая текуща клетка да стане ред 1 отдясно на новосъздадената колона. С други думи, не зная как да накарам макроса да изчислява адресите спрямо адреса на текущата клетка.
Предварително благодаря на всички, които ще се опитат да налеят малко акъл в явно недостатъчно пълната ми кратуна

Още малко толерантност никога не е излишна
Отговор
в отговор на мeтъл Джyмa #4

Re: с функция

Poneje ne mojah mnogo da razbera tochno koia kolona v koia iskash da kopirash eto ti macros, koito markira kolonata koiato e ot diasno na tekushtata kletka nezavisimo ot adsresa i ...
posle tova c Copy i PasteValues mojesh i sam da go izmislish :)))))))
ako ne ---> pishi

-------------------------------
Sub select_right_coll()
Dim r, c

r = ActiveCell.Row
c = ActiveCell.Column

Columns(c + 1).Select
End Sub
--------------------------------

Отговор