如何基于当前工作表路径进行合并

时间:2019-09-26 20:12:44

标签: excel vba

我正在尝试弄清楚如何合并当前的工作表。对于我来说,列出所有尝试过的内容是不可能的,但我会尽力将其分解。

Macro Recorder在合并时记录了此信息:

func getVideo() {

    let userDefaults = UserDefaults.standard
    guard let decoded  = userDefaults.data(forKey: "video") else {
        return
    }

    var videoURL: NSURL

    do {
        var isSSNField = ObjCBool(true)
        try videoURL = NSURL.init(resolvingBookmarkData: decoded, options: .withoutUI, relativeTo: nil, bookmarkDataIsStale: &isSSNField)
        print(videoURL)
    } catch {
        print(error)
    }

}

如果我正在使用名为“当前需求9-19-2019 working.xlsx”的工作簿,则此方法有效,但是当我更改工作簿或工作表时将不起作用。我需要代码才能在以前的工作簿上工作,最好是在我当前正在使用的工作表上。

我已经尝试过了:

Range("G1").Select
    Selection.Consolidate Sources:= _
        "'C:\Users\sognibene\Desktop\[Current needs 9-19-2019 working.xlsx]PO'!C1:C2" _
        , Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False

那没有用。我已经这样尝试过了:

Range("G1").Select
    Selection.Consolidate Sources:= _
        "'C:\Users\sognibene\Desktop\" & "["&ActiveWorkbook.Name&"]" & "PO'!C1:C2" _
        , Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False

我还尝试了其他一百种东西。我已经尝试过使用ActiveSheet,ActiveWorkbook和其他我能想到的东西。

1 个答案:

答案 0 :(得分:3)

必须在vba中的&周围放置空格。

这有效:

 Range("G1").Select
    Selection.Consolidate Sources:= _
        "'C:\Users\sognibene\Desktop\" & "[" & ActiveWorkbook.Name & "]" & "PO'!C1:C2" _
        , Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False