徐建辉 发表于 2021-10-17 18:43:00

如何实现将固定SHEET的内容在不同SHEET的数据进行自动统计?

麻烦请教一下大师们,如何能实现将固定SHEET 1中修改的内容, 在不同 SHEET 2 中进行数据的自动统计?
固定格式的SHEET 1 是需要打印出来的,所以填入所需内容后就需要清除掉,填入其他新的内容。
填好的内容希望直接在另外的 SHEET 2 中进行增加汇总。 以前见过别人用过类似的表格,应该是用了 宏 或者 数据库什么的。
做了一个类似增加按钮的东西,一点那个按钮SHHET 2 里面就自动增加内容了。
实在不知道应该怎么做,还请大师们指教,谢谢!

司徒云天 发表于 2021-10-25 10:02:45

Sub 增加汇总()
Dim EndRow As Byte, EndCol As Byte, DataArr() As Variant, ToRng As Range, ArrI As Byte
With ActiveSheet
EndRow = .Range("B6").End(xlDown).Row
EndCol = .Range("B6").CurrentRegion.Columns.Count + 1
DataArr = .Range(.Cells(7, 2), .Cells(EndRow, EndCol)).Value
ReDim Preserve DataArr(1 To UBound(DataArr, 1), 1 To UBound(DataArr, 2) + 1)
For ArrI = 1 To UBound(DataArr, 1)
    DataArr(ArrI, UBound(DataArr, 2)) =
    Worksheets(2).Range("B" & ArrI + Worksheets(2).Range("F2").End(xlDown).Row) =
    Worksheets(2).Range("C" & ArrI + Worksheets(2).Range("F2").End(xlDown).Row) =
    Worksheets(2).Range("D" & ArrI + Worksheets(2).Range("F2").End(xlDown).Row) =
    Worksheets(2).Range("E" & ArrI + Worksheets(2).Range("F2").End(xlDown).Row) =
Next ArrI
Set ToRng = Worksheets(2).Range("F1048576").End(xlUp).Offset(1, 0)
ToRng.Resize(UBound(DataArr, 1), UBound(DataArr, 2)) = DataArr
End With
End Sub
工作簿1.zip

痞气书生 发表于 2021-11-2 10:24:14

limonet非常感谢你!要的就是这样的效果, 前几天一直出差,忘记回复表示感谢了!我自己先研究学习一下,不明白的地方还需要请教!谢谢!

茗香 发表于 2021-12-6 07:08:14

不好意思,还希望请教一下。格式稍微做了调整以后,就没有这个效果了。
自己调整了半天也没有成功。 实在搞不定了,麻烦大神帮忙看一下该如何调整,谢谢了!

啥都不想了 发表于 2021-12-19 00:35:45

Sub 增加汇总()
Dim EndRow As Byte, EndCol As Byte, DataArr() As Variant, ToRng As Range, ArrI As Byte
Set ToRng = Worksheets(2).Range("E1048576").End(xlUp).Offset(1, 1)
With ActiveSheet
EndRow = .Range("B11").End(xlDown).Row
EndCol = .Range("B11").CurrentRegion.Columns.Count + 1
DataArr = .Range(.Cells(12, 2), .Cells(EndRow, EndCol)).Value
ReDim Preserve DataArr(1 To UBound(DataArr, 1), 1 To UBound(DataArr, 2) + 1)
For ArrI = 1 To UBound(DataArr, 1)
    DataArr(ArrI, UBound(DataArr, 2)) =
    Worksheets(2).Range("B" & ArrI + Worksheets(2).Range("F2").End(xlDown).Row) =
    Worksheets(2).Range("C" & ArrI + Worksheets(2).Range("F2").End(xlDown).Row) =
    Worksheets(2).Range("D" & ArrI + Worksheets(2).Range("F2").End(xlDown).Row) =
    Worksheets(2).Range("E" & ArrI + Worksheets(2).Range("F2").End(xlDown).Row) =
Next ArrI
ToRng.Resize(UBound(DataArr, 1), UBound(DataArr, 2)) = DataArr
End With
End Sub

再板你一砖 发表于 2022-1-10 07:03:03

感谢分享! 可以使用了,我自己再学习一下,要不格式动了就又不行了! 谢谢你呢!
页: [1]
查看完整版本: 如何实现将固定SHEET的内容在不同SHEET的数据进行自动统计?