Я постараюсь (насколько я могу) объяснить код, который я использую
По сути, у меня есть Excel, который выводит значение в ячейку W151 на основе вычисления, которое зависит от ячеек в диапазоне Q149: Q182.
Первый шаг - сброс всех значений в диапазоне Q149: Q182 до базовых значений путем копирования и вставки из ячеек S149: S182.
На основе базовых значений для формулы я копирую и вставляю значение, выведенное в W151, в W99
Затем я изменяю значение в Q149 на "2". Это обновляет расчет и, следовательно, значение в ячейке W151, которое я затем копирую и вставляю в W100
Затем я изменяю Q150 на «2» и снова копирую значение из W151, на этот раз в W101 и т. Д. И т. Д.
У меня вопрос, есть ли способ задания ячеек, которые я изменяю как массив (выбранный пользователем через приглашение), выходная ячейка W151 как переменная (выбираемая пользователем через приглашение) и место назначения для скопированных значений (т. е. в настоящее время ячеек W99: W101) в виде массива, также выбранного пользователем через приглашение. Если нет, то можете ли вы подумать, что может автоматизировать этот процесс?
Я ценю, что, возможно, я плохо справился с объяснением того, что я пытаюсь сделать, поэтому, пожалуйста, не стесняйтесь просить разъяснений (хотя я предупреждаю вас, мои знания VBA очень ограничены)
Большое спасибо,
Thomas
Sub Example()
Range("S149:S182").Select
Selection.Copy
Range("Q149").Select
Selection.PasteSpecial Paste:=xlPasteValues
Range("W151").Select
Selection.Copy
Range("W99").Select
Selection.PasteSpecial Paste:=xlPasteValues
Range("Q149").Select
ActiveCell.FormulaR1C1 = "2"
Range("W151").Select
Selection.Copy
Range("W100").Select
Selection.PasteSpecial Paste:=xlPasteValues
Range("Q150").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "2"
Range("W151").Select
Selection.Copy
Range("W101").Select
Selection.PasteSpecial Paste:=xlPasteValues
End Sub