将数据输出到行中的下一个单元格
Output data into next cell in row
我在将信息输出到单个单元格时遇到问题。
我的代码遍历所有输出,然后移至下一个单元格,再次遍历所有输出。
它应该像这样将信息输出到单个单元格中。
Sub Totals()
Dim wrksheet As Worksheet
Dim Ttls As Variant
Dim x As Long
For x = 1 To 4
For Each wrksheet In ActiveWorkbook.Worksheets
If wrksheet.Visible And Not wrksheet.Name = "Log" Then
With wrksheet
Ttls = .Range("B2", .Range("B" & .Rows.Count).End(xlUp)).Rows.Count
Worksheets("Log").Range("G17").Offset(0, x - 1).Value = Application.Transpose(Ttls)
End With
End If
Next wrksheet
Next x
End Sub
这是有效的方法:
Sub Totals02()
Dim wrksheet As Worksheet
Dim x As Long
Dim Ary As Variant
ReDim Ary(1 To 2, 1 To ActiveWorkbook.Worksheets.Count)
For Each wrksheet In ActiveWorkbook.Worksheets
If Not wrksheet.Name = "Overpayment No Further Action" And Not wrksheet.Name = "Log" Then
With wrksheet
x = x + 1
Ary(1, x) = .Range("B2", .Range("B" & .Rows.Count).End(xlUp)).Rows.Count
End With
End If
Next wrksheet
Sheets("Log").Range("G17").Resize(1, x).Value = Ary
End Sub
我在将信息输出到单个单元格时遇到问题。
我的代码遍历所有输出,然后移至下一个单元格,再次遍历所有输出。
它应该像这样将信息输出到单个单元格中。
Sub Totals()
Dim wrksheet As Worksheet
Dim Ttls As Variant
Dim x As Long
For x = 1 To 4
For Each wrksheet In ActiveWorkbook.Worksheets
If wrksheet.Visible And Not wrksheet.Name = "Log" Then
With wrksheet
Ttls = .Range("B2", .Range("B" & .Rows.Count).End(xlUp)).Rows.Count
Worksheets("Log").Range("G17").Offset(0, x - 1).Value = Application.Transpose(Ttls)
End With
End If
Next wrksheet
Next x
End Sub
这是有效的方法:
Sub Totals02()
Dim wrksheet As Worksheet
Dim x As Long
Dim Ary As Variant
ReDim Ary(1 To 2, 1 To ActiveWorkbook.Worksheets.Count)
For Each wrksheet In ActiveWorkbook.Worksheets
If Not wrksheet.Name = "Overpayment No Further Action" And Not wrksheet.Name = "Log" Then
With wrksheet
x = x + 1
Ary(1, x) = .Range("B2", .Range("B" & .Rows.Count).End(xlUp)).Rows.Count
End With
End If
Next wrksheet
Sheets("Log").Range("G17").Resize(1, x).Value = Ary
End Sub