首先,抱歉我的英语和计算机技能很差。 我正在努力学习一些学校团队(> 50)。 每个团队都有自己的表格来参加。 每个团队都有不同的培训日期和编号。 我试图将来自不同表格的所有数据合并为一个,然后我就完成了。 但问题是我想检查前一天训练过的球队的出勤情况。由于培训日期和数量不同,不同团队的出勤记录显示在不同的栏目中。我只是想让所有团队在一个特定的地方插入一个新专栏,以便参加。但我希望我可以使用" Lastcolumn"或其他方法来解决这个愚蠢的问题。
我的愚蠢解决方案:
1,组合所有板材
2,清除除最新更新之外的所有数据
3,过滤" ABS"
4,选择昨天由人类培训的团队
Sheets(Sheets.Count).Select
Range("A1").Select
For i = 1 To Sheets.Count - 2
Sheets(i).Select
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets(Sheets.Count - 1).Select
lastrow = Cells(1, 1).End(xlDown).Row
Range("A" & (lastrow + 1)).Select
ActiveSheet.Paste
Next i
'
'
Columns("F:BB").Select
Selection.ClearContents
Range("A4:E4").Select
Selection.AutoFilter
ActiveSheet.Range("$A$4:$E$37").AutoFilter Field:=5, Criteria1:="ABS"
End Sub
答案 0 :(得分:0)
如果您可以粘贴考勤表所在的格式,这将有助于我们回答您的问题。但是,似乎这个解决方案可能会起作用。
替换
行Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Application.CutCopyMode = False
代码中的
Selection.End(xlToRight).Select
Range(Selection, Selection.End(xlDown)).Select
假设行A中的所有单元格都具有要复制的列的值。
答案 1 :(得分:0)
当然,您可以使用范围对象同时选择两个范围。
插入代码顶部;
Dim rng1, rng2, rngCombo As Range
然后修改;
Selection.End(xlToRight).Select
Range(Selection, Selection.End(xlDown)).Select
Set rng1 = Selection
Set rng2 = Range("A4:E4")
Set rngCombo = Union(rng1, rng2)
rngCombo.Select
希望这有帮助! 如果它做了投票将非常感谢!