我这里有一个宏,它将所有文件合并到一个主文件中。目前,它会从每个文件中复制整个工作表,并将其堆叠到主文件中。这个理想的代码将进入源文件,并在下面找到标题行和副本。标题行不是静态的。有时它在第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")
答案 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语句更改为更通用的内容,但如果不知道标题和数据的外观,就很难知道它应该是什么。