编辑合并工作簿的VBA代码

时间:2017-03-30 17:28:04

标签: excel vba excel-vba

我这里有一个宏,它将所有文件合并到一个主文件中。目前,它会从每个文件中复制整个工作表,并将其堆叠到主文件中。这个理想的代码将进入源文件,并在下面找到标题行和副本。标题行不是静态的。有时它在第5行,有时是第15行。标题上方有数据,通常是长文本字符串。

如何修改以下代码?

提前致谢!

以下是代码:

df <- structure(list(User_name = structure(c(1L, 1L, 1L, 3L, 2L), .Label = c("user 1", 
"user 2", "user 3", "user 7"), class = "factor"), M_User = structure(c(2L, 
3L, 4L, 2L, 4L), .Label = c("user 1", "user 2", "user 3", "user 7"
), class = "factor"), Total = c(7L, 19L, 5L, 1L, 1L)), .Names = c("User_name", 
"M_User", "Total"), row.names = c(NA, -5L), class = "data.frame")

1 个答案:

答案 0 :(得分:1)

假设标题始终位于同一列中,您可以在代码顶部添加以下内容:

Dim cond As Boolean
Dim headerRow As Integer, i As Integer
cond = False

While cond <> True

    i = i + 1
    If sourceRange.Cells(i, 1) = "Name of Header" Then     'For a header in column A
        i = headerRow                                         
        cond = True
    End If
Wend

然后,您应该能够根据标题所在的行修改其摄入的数据范围。

此外,您可以将if语句更改为更通用的内容,但如果不知道标题和数据的外观,就很难知道它应该是什么。