Привет, ребята, мне нужна помощь в создании сценария vba, который автоматизирует процесс создания имени с помощью инструмента управления именами в Excel, чтобы создать функцию смещения для диапазона диаграммы. У меня есть 100 файлов excel, и я уже создал цикл, который проходит через них. Я просто не знаю, какую функцию использовать для создания имени и манипуляции с диапазоном диаграмм. См. Ниже код Sudo, который я пытаюсь создать.Excel Vba как использовать функцию имени для определения формулы смещения
Хотя файл доступен в папке
Открыть файл
Перейти на вкладку 1
Перейти к таблице 1
менеджер открыт имя
Создать новое имя, которое подсчитывает количество строк в колонке динамически
Создать новое имя, которое подсчитывает количество строк в колонке б динамически
Установите два имени в качестве диапазонов для существующей диаграммы называется диаграмма 1
Перейти к следующему файлу
В основном то, что я хочу сделать, это точно так же, как это видео https://m.youtube.com/watch?v=1VnITD0rU1A
Edit: Как и другие предложили, чтобы я решил попробовать записи макроса, и я получил это:
ActiveSheet.Shapes.Range(Array("TextBox 3")).Select
Selection.ShapeRange.IncrementLeft -0.8822834646
Selection.ShapeRange.IncrementTop 275.2940944882
Range("O18").Select
ActiveWorkbook.Names.Add Name:="TimeStamp", RefersToR1C1:= _
"=OFFSET('KPI 2'!R6C16,,,COUNT('KPI 2'!C16),1)"
ActiveWorkbook.Names("TimeStamp").Comment = ""
ActiveWorkbook.Names.Add Name:="RunTime", RefersToR1C1:= _
"=OFFSET('KPI 2'!R6C17,,,COUNT('KPI 2'!C17),1)"
ActiveWorkbook.Names("RunTime").Comment = ""
ActiveWorkbook.Names.Add Name:="AverageRunTime", RefersToR1C1:= _
"=OFFSET('KPI 2'!R6C18,,,COUNT('KPI 2'!C18),1)"
ActiveWorkbook.Names("AverageRunTime").Comment = ""
ActiveWindow.SmallScroll ToRight:=8
ActiveSheet.ChartObjects("Chart 5").Activate
ActiveSheet.ChartObjects("Chart 5").Activate
ActiveChart.SeriesCollection(1).XValues = "=='31-G-1A.xlsm'!TimeStamp"
ActiveChart.SeriesCollection(1).Values = "=='31-G-1A.xlsm'!RunTime"
ActiveWindow.SmallScroll Down:=24
ActiveSheet.ChartObjects("Chart 2").Activate
ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.SeriesCollection(1).XValues = "=='31-G-1A.xlsm'!TimeStamp"
ActiveChart.SeriesCollection(1).Values = "=='31-G-1A.xlsm'!AverageRunTime"
ActiveWindow.SmallScroll Down:=30
Формула имен работает, но я получаю сообщение об ошибке при попытке установить значения x и y для диаграммы. (Файл называется '31 -G-1A.xlsm ')
Просто пробовал, но получаю сообщение об ошибке при попытке обновить таблицу – user3138464