gpt4 book ai didi

excel - 工作表排序溢出问题

转载 作者:行者123 更新时间:2023-12-04 21:20:17 25 4
gpt4 key购买 nike

我正在尝试将多个工作表中的所有数据合并为一个,但在它变得特别远之前出现“溢出”错误......当然有更好的编写方法来避免这个问题!

Sub collateSheets()

Dim ws As Worksheet
Dim src As Worksheet
Dim LR As Integer
Dim LR2 As Integer

Set ws = Sheets.Add
With ws
.Name = "Collated Data"
.Range("1:1").Value = Sheets(2).Range("1:1").Value
End With
For i = 1 To Sheets.Count
Sheets(i).Activate
LR = ws.Cells(Rows.Count, 1).End(xlUp).Row
LR2 = Sheets(i).Cells(Rows.Count, 1).End(xlUp).Row
If LR2 <> 1 Then
For j = 2 To LR2
LRinput = LR - 1 + j
ws.Rows(LRinput).Value = Sheets(i).Rows(j).Value
Next j
End If
LR = vbNull
LR2 = vbNull
Next i

End Sub

最佳答案

你也在新的“整理数据”表上循环

把它放在第一张纸上,然后从第 2 页开始

此外,您可以避免遍历行并一次性复制/粘贴它们的值

最后循环 Worksheets收集,并避免任何可能的图表表:

Sub collateSheets()
Dim ws As Worksheet
Dim src As Worksheet
Dim LR As Long, LR2 As Long
Dim i As Long

Set ws = Worksheets.Add(before:=Sheets(1)) ' place new sheet in first position
With ws
.Name = "Collated Data"
.Range("1:1").value = Sheets(2).Range("1:1").value
End With
For i = 2 To Worksheets.Count ' loop from 2nd sheet on (thus avoiding "Collated Data")
LR = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
LR2 = Sheets(i).Cells(Sheets(i).Rows.Count, 1).End(xlUp).Row
If LR2 <> 1 Then ws.Rows(LR + 1).Resize(LR2 - 1).value = Sheets(i).Rows("2:" & LR2).value
Next
End Sub

关于excel - 工作表排序溢出问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53007094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com