Добрый вечер,
Есть файл с несколькими листами, если коротко то в первом листе вставляются входные данные собранные сервером, во втором листе формулы которые обрабатывают эти данные, в следующие листы вставляются рассчитанные данные.
Есть гиперссылки через формулы которые переходят в нужную ячейку на нужном листе.
Хотел записать макрос который будет копировать все данные в нужные листы.
С макросами не очень, по этому записал макрос через рекордер, на первый взгляд всё хорошо но потом понял что при нажатии на гиперссылку макрос записывает не запуск гиперссылки а результат формулы то есть адрес ячейки, а это неправильно так как результат может изменятся в зависимости от введенных данных на первом листе.
вот формула одной гиперссылки
Код |
---|
=HYPERLINK("[Error Data per Week.xlsm]"&ADDRESS(1;MATCH(C2;'Data by machine'!A2:BC2;0);4;1;"Data by machine");"Data by machine") |
вот часть кода которая записывается при нажатии на эту гиперссылку ( которая я думаю неправильна)
Код |
---|
Range("O1:R2").Select
Application.Goto Reference:="'Data by machine'!R1C47" |
вот весь код, код можн сказать повторяется, копирую данные с листа расчётов, нажимаю нужную гиперссылку, перехожу в нужную ячейку, вставляю значения, нажимаю гиперссылку для перехода обратно на лист с расчетами, выбираю другие данные, копирую, нажимаю другую гиперссылку.....и так далее...
Код |
---|
Sub test1()
'
' test1 Macro
'
'
Range("C1:C44").Select
Selection.Copy
Range("O1:R2").Select
Application.Goto Reference:="'Data by machine'!R1C47"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Columns("G:H").Select
Application.CutCopyMode = False
Selection.Copy
Range("O3:R4").Select
Application.Goto Reference:="'Top 3 errors by machine'!R1C89"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Columns("L:L").Select
Application.CutCopyMode = False
Selection.Copy
Range("O5:R6").Select
Application.Goto Reference:="'Quantity errors'!R1C46"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End Sub |