Питане за Exel
3 отговора
230 прегледа
Питане за Exel
Мога ли да стартирам макрос от формула? Например: IF(едикво си;стартиране на макроса;""). 10х.
Още малко толерантност никога не е излишна
Още малко толерантност никога не е излишна
с функция
направи го с функция. Тя връща резултат, който явно няма значение (да речем 1), важното е да свърши работата която искаш. Тогава вече можеш да напишеш формула в клетка: IF(еди кво си,MyFunction(),"").
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 отдясно на новосъздадената колона. С други думи, не зная как да накарам макроса да изчислява адресите спрямо адреса на текущата клетка.
Предварително благодаря на всички, които ще се опитат да налеят малко акъл в явно недостатъчно пълната ми кратуна


Още малко толерантност никога не е излишна
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 отдясно на новосъздадената колона. С други думи, не зная как да накарам макроса да изчислява адресите спрямо адреса на текущата клетка.
Предварително благодаря на всички, които ще се опитат да налеят малко акъл в явно недостатъчно пълната ми кратуна
Още малко толерантност никога не е излишна
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
--------------------------------
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
--------------------------------