ol7ca
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору AndVGri спасибо. Цитата: Цитата:Как правильно определить положение ячейки с которой начинается действие скрипта? Что значит в правильном месте? У тебя и так скрипт перед копированием и вставкой переходит в заданные ячейки по Range("xxyy").Select, начиная с ячейки J14 | так вот он правильно работает только когда курсор стоит на J14. то же самое происходит на других листах. там я так же определил положение начала копирования-вставки: Sheets("name").Select Range("xxyy").Select мне приходится прежде ставить курсор на правильные места а затем запускать скрипт Добавлено: В данном случае все определено верно и где бы я ни находился - запускаю скрипт и все работает. Что же все-таки нужно четко прописывать, чтобы скрипт начинал работать с правильной ячейки? Можно ли как-то упростить мой нижеприведенный скрипт? Sheets("NAME").Select Range("H6").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=+[XXX.xls]X!RC" Range("H6").Copy Range( _ "H6,T6,AE6,AQ6,D10:D37,F10:F37,O10:O37,R10:R37,AA10:AA37,AC10:AC37,AM10:AM37,AO10:AO37,AM41:AM62,AO41:AO62,AM66:AM69,AO66:AO69,AM82,AO82,AM84:AM87,AO84:AO87,AM90:AM92,AO90:AO92,AM100:AM109,AO100:AO109,AM112,AO112,AQ114:AQ115,AE114:AE115" _ ).Select Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Union(Range( _ "R62,AA41:AA62,AC41:AC62,D66:D69,F66:F69,D82,F82,D84:D87,F84:F87,D90:D92,F90:F92,O66:O69,O82,O84:O87,O90:O92,R66:R69,R82,R84:R87,R90:R92,AA66:AA69,AC66:AC69,AC82,AA82,AA84:AA87,AC84:AC87,AA90:AA92,AC90:AC92,D100:D109,F100:F109,O100:O109,R100:R108,R109" _ ), Range( _ "AA100:AA109,AC100:AC109,AA112,AC112,R112,O112,H115,H116,F112,D112,H6,T6,AE6,AQ6,D10:D37,F10:F37,O10:O37,R10:R37,AA10:AA37,AC10:AC37,AM10:AM37,AO10:AO37,AM41:AM62,AO41:AO62,AM66:AM69,AO66:AO69,AM82,AO82,AM84:AM87,AO84:AO87,AM90:AM92,AO90:AO92" _ ), Range( _ "AM100:AM109,AO100:AO109,AM112,AO112,AQ114:AQ115,AE114:AE115,D41:D62,F41:F62,O41:O62,R41:R61" _ )).Select Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Range( _ "J10:J37,V10:V37,AG10:AG37,AS10:AS37,J41:J62,V41:V62,AG41:AG62,AS41:AS62,J100:J109,V100:V109,AG100:AG109,AS100:AS109,AS112,AG112,V112,J112" _ ).Select Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False End Sub |