Vba 是否希望根据页眉-Excel VB |宏将第2页中高亮显示的行复制到第1页
我有一个宏,它根据页眉将整个第2页复制到第1页。但是,我希望代码考虑特定颜色中突出的行。Vba 是否希望根据页眉-Excel VB |宏将第2页中高亮显示的行复制到第1页,vba,excel,Vba,Excel,我有一个宏,它根据页眉将整个第2页复制到第1页。但是,我希望代码考虑特定颜色中突出的行。 Sub Macro1() Dim Rng As Range, c As Range Dim sCell As Range Dim rSize As Long Dim Dest As Range Dim headerRng As Range Dim lDestRow As Long Dim i As Integer Application.Scr
Sub Macro1()
Dim Rng As Range, c As Range
Dim sCell As Range
Dim rSize As Long
Dim Dest As Range
Dim headerRng As Range
Dim lDestRow As Long
Dim i As Integer
Application.ScreenUpdating = False 'Uncomment after testing
Sheets("Base Sheet").Select
i = 0
Set Rng = Range([D1], [D1].End(xlToRight))
Set headerRng = Range([D1], [D1].End(xlToRight))
For Each c In Rng
Set sCell = Sheets("Roster").Range("1:1").Find(What:=c.Value, LookIn:=xlValues, LookAt:=xlWhole)
rSize = Sheets("Roster").Range(sCell.Offset(1, 0), sCell.End(xlDown)).SpecialCells(xlCellTypeVisible).Cells.Count
If c.Offset(1, 0).Value <> "" Then
'c.End(xlDown).Offset(1, 0).Resize(rSize, 1) = Sheets("Roster").Range(sCell.Offset(1, 0), sCell.End(xlDown)).SpecialCells(xlCellTypeVisible).Value
Set Dest = c.End(xlDown).Offset(1, 0)
If i = 0 Then
lDestRow = Dest.row
End If
If AmIYellow(Cell) And Cell.Value <> "" Then '<~ blank check too
Set Dest = Output.Cells(DestCounter, 1)
If Dest.row < lDestRow Then
Set Dest = Cells(lDestRow, Dest.Column)
End If
Sheets("Roster").Range(sCell.Offset(1, 0), sCell.End(xlDown)).SpecialCells(xlCellTypeVisible).Copy
Dest.Select
ActiveSheet.Paste
Else
'c.Offset(1, 0).Resize(rSize, 1).Value = Range(sCell.Offset(1, 0), sCell.End(xlDown)).SpecialCells(xlCellTypeVisible).Value
Range(sCell.Offset(1, 0), sCell.End(xlDown)).SpecialCells(xlCellTypeVisible).Copy
Set Dest = c.Offset(1, 0)
If Dest.row < lDestRow Then
Set Dest = Cells(lDestRow, Dest.Column)
End If
Dest.Select
ActiveSheet.Paste
End If
i = i + 1
Next
Application.ScreenUpdating = True
End Sub
Sub宏1()
变暗Rng As范围,c As范围
暗sCell As范围
变暗,变长
变暗目的地范围
暗淡的头像射程
昏暗的灯光和长的一样
作为整数的Dim i
Application.ScreenUpdate=False“在测试后取消注释”
图纸(“基础图纸”)。选择
i=0
设置Rng=范围([D1],[D1]。结束(xlToRight))
Set headerRng=范围([D1],[D1]。结束(xlToRight))
对于Rng中的每个c
设置sCell=Sheets(“花名册”).范围(“1:1”).查找(内容:=c.Value,查找:=xlValues,查找:=xlWhole)
rSize=工作表(“花名册”).范围(sCell.Offset(1,0),sCell.End(xlDown)).SpecialCells(xlCellTypeVisible).Cells.Count
如果c.Offset(1,0)。值为“”,则
'c.End(xlDown).偏移量(1,0).调整大小(rSize,1)=工作表(“花名册”).范围(sCell.Offset(1,0),sCell.End(xlDown)).特殊单元格(xlCellTypeVisible).值
设置Dest=c.End(xlDown)。偏移量(1,0)
如果i=0,那么
lDestRow=Dest.row
如果结束
如果是黄色(Cell)和Cell.Value“”,那么“超级秘密”的特定颜色是什么。它适用于整行吗?它将是红色的,是的,它适用于整行。rng和headerRng之间的区别是什么?如果没有,那么为什么两者都可以删除?headerRng。它是一个重复集headerRng=范围([D1],[D1]。结束(xlToRight))。。。并设置Rng=范围([D1],[D1]。结束(xlToRight))。我看不出有什么不同。