Excel宏刷新数据,然后格式化单元格
我有一个包含透视表的工作表,数据是从另一个系统输出的文件填充的 在Power Query中,我转换数据,特别是使用其中一个字段来构造URLExcel宏刷新数据,然后格式化单元格,excel,vba,formatting,powerquery,Excel,Vba,Formatting,Powerquery,我有一个包含透视表的工作表,数据是从另一个系统输出的文件填充的 在Power Query中,我转换数据,特别是使用其中一个字段来构造URL "'=HYPERLINK(""" & "https://website.com/"&[Code] & """, """ & [Code] & """) " 当数据在透视表中时,我需要操纵格式以使其正确显示 在Excel中,我使用查找和替换将字符串转换为显示友好名称的正确URL(并调整列的大小) 刷新数据意味着需要再次
"'=HYPERLINK(""" & "https://website.com/"&[Code] & """, """ & [Code] & """) "
当数据在透视表中时,我需要操纵格式以使其正确显示
在Excel中,我使用查找和替换将字符串转换为显示友好名称的正确URL(并调整列的大小)
刷新数据意味着需要再次运行上面的宏
我热衷于为用户实现自动化。但是,运行下面的宏看起来是先格式化,然后刷新,我做错了什么
Sub Macro2()
ActiveWorkbook.Connections("Query - XXX"). _
Refresh
'
Cells.Replace What:="'=", Replacement:="=", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Columns("A:A").EntireColumn.AutoFit
End Sub
注意宏的两个部分可以独立正常工作,只是当按上述方式组合时不能正常工作。如果您在数据功能区的“连接”部分找到查询,打开其属性,并取消选中“背景刷新”选项,它将暂停任何VBA代码,直到完成刷新。也可以在VBA中设置此属性
Sub Macro2()
ActiveWorkbook.Connections("Query - XXX").OLEDBConnection.BackgroundQuery = False
ActiveWorkbook.Connections("Query - XXX").Refresh
Cells.Replace What:="'=", Replacement:="=", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Columns("A:A").EntireColumn.AutoFit
End Sub
Sub Macro2()
ActiveWorkbook.Connections("Query - XXX").OLEDBConnection.BackgroundQuery = False
ActiveWorkbook.Connections("Query - XXX").Refresh
Cells.Replace What:="'=", Replacement:="=", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Columns("A:A").EntireColumn.AutoFit
End Sub