将Excel中的选项卡组合到下一个空闲列而不是行

时间:2014-11-19 19:25:42

标签: vba

我在excel工作簿中有7个标签。这些选项卡中的信息都是表格。我需要组合这些表,以便每个表在下一个空列中开始。我尝试制作的代码从下一个空行开始,而不是下一个空列。

基本上,我希望每个表中的所有标题都包含在第1行中,而不是从下一个空行开始。

Sub Combine()
Dim J As Integer
Dim s As Worksheet
Dim NextEmptyCol As Long
NextEmptyCol = Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column + 1

Sheets(1).Select
Worksheets.Add ' add a sheet in first place
Sheets(1).Name = "Combined"

For Each s In ActiveWorkbook.Sheets
If s.Name <> "Combined" Then
Application.Goto Sheets(s.Name).[A1]
Selection.CurrentRegion.Select
Sheet.UsedRange.Clear
Selection.Copy Destination:=Sheets("Combined"). _
Cells(Columns.Count, 1).End(xlUp)(2)
End If
Next
End Sub

1 个答案:

答案 0 :(得分:0)

您的代码Selection.Copy Destination:=Sheets("Combined").Cells(Columns.Count, 1).End(xlUp)(2)找到下一个免费行。要查找下一个免费列:

LastCol = Sheets("Combined").Cells(1, Columns.Count).End(xlToLeft).Column
Selection.Copy Destination:=Sheets("Combined"). _
Cells(1, LastCol + 1)