Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel宏刷新数据,然后格式化单元格_Excel_Vba_Formatting_Powerquery - Fatal编程技术网

Excel宏刷新数据,然后格式化单元格

Excel宏刷新数据,然后格式化单元格,excel,vba,formatting,powerquery,Excel,Vba,Formatting,Powerquery,我有一个包含透视表的工作表,数据是从另一个系统输出的文件填充的 在Power Query中,我转换数据,特别是使用其中一个字段来构造URL "'=HYPERLINK(""" & "https://website.com/"&[Code] & """, """ & [Code] & """) " 当数据在透视表中时,我需要操纵格式以使其正确显示 在Excel中,我使用查找和替换将字符串转换为显示友好名称的正确URL(并调整列的大小) 刷新数据意味着需要再次

我有一个包含透视表的工作表,数据是从另一个系统输出的文件填充的

在Power Query中,我转换数据,特别是使用其中一个字段来构造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