У меня есть база данных, которая экспортирует таблицу в Excel, и мне нужно, чтобы форматы ячеек в столбце Z были либо в валюте, либо в процентах на основе значения в столбце Y. Я знаю, что могу сделать это в Excel с условным форматированием, но яя нахожусь в тупике о том, как это сделать в Access.
Я попробовал это
Sub GetExcel_INV_Hist(File_Path_Name)
Dim MyXL As Object
Set MyXL = CreateObject("Excel.Application")
MyXL.Workbooks.Open (File_Path_Name)
MyXL.Visible = True
' IHFormat Macro
MyXL.Application.Columns("Z:AC").Select
MyXL.Application.Selection.NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
MyXL.Application.Range("Z:Z").Select
MyXL.Application.Selection.NumberFormat = "0.00%"
MyXL.Application.Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=$Y3 = ""GM"""
MyXL.Application.Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
MyXL.Application.ExecuteExcel4Macro "File_Path_Name!(2,1,""0.00%"")"
MyXL.Application.Selection.FormatConditions(1).StopIfTrue = False
MyXL.Application.Selection.Copy
MyXL.Application.Range("Z4").Select
MyXL.Application.Range(Selection, Selection.End(xlDown)).Select
MyXL.Application.Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
, который сначала изменил формат Z на валюту, затем я выбрал первую ячейку, Z3, проверил, чтобы увидетьесли Y3 = GM, и если это так, измените формат на проценты.Затем выберите оставшуюся часть Z и сделайте Специальную вставку / Формат.Выдает ошибку в строке ExecuteExcel4Macro.Я предполагаю, потому что условное форматирование не было выполнено в рабочей книге, которую создает процесс.
Заранее спасибо за любую помощь.
Редактировать: макрос записан в excel, поэтому строкавопрос был создан как часть макроса Excel.Я расширил свой код, и это ошибка:
Errorsnip
Остальное форматирование работает отлично.
Еще раз спасибо