Vba 范围、选择、更改内容、对齐或偏移?
我现在有一个例子,我正在用下面的名称向下移动列,并单击一个宏,然后用35标记指示器,在右边的几列中。由于页面的性质,当我查看一个名称并激活宏时,我想数一数我在列表中的位置。因此,我想做的不是选择并标记一个名称,而是用35来标记该行和前面的所有行。这样,图表和计算的计数A值会随着审阅者在工作表上的进度而变化Vba 范围、选择、更改内容、对齐或偏移?,vba,excel,Vba,Excel,我现在有一个例子,我正在用下面的名称向下移动列,并单击一个宏,然后用35标记指示器,在右边的几列中。由于页面的性质,当我查看一个名称并激活宏时,我想数一数我在列表中的位置。因此,我想做的不是选择并标记一个名称,而是用35来标记该行和前面的所有行。这样,图表和计算的计数A值会随着审阅者在工作表上的进度而变化 Totals X Y Z T Marker Indicator TOM xxxxxxx xxxxxxx xxxxxxx xxxxxxx 35
Totals X Y Z T Marker Indicator
TOM xxxxxxx xxxxxxx xxxxxxx xxxxxxx 35
HARRY xxxxxxx xxxxxxx xxxxxxx xxxxxxx
PAUL xxxxxxx xxxxxxx xxxxxxx xxxxxxx
PETER xxxxxxx xxxxxxx xxxxxxx xxxxxxx 35
TIM xxxxxxx xxxxxxx xxxxxxx xxxxxxx
我的宏脚本如下所示:
Sub tester2()
Set Rng = ActiveCell
'
' tester2 Macro
'
'
ActiveCell.Offset(0, 6).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
ActiveCell.Value = 35
Application.Goto Rng
End With
End Sub
然后,作为参考,我的导出宏应该只导出手动高亮显示的行项目(而不是自动填充的行项目)
所以我想的是,对于我的第一个宏,是否有可能在右边的6列上有一个标记(35)。将前面的所有行也标记出来,然后在第7列中为该行添加一个标记。这样,我计算的行数将从新的第6列运行。和我的导出第7列。这可以很容易地简化,以影响从2到当前行、从右到六列的单元格-
Sub tester2()
Dim col As Integer
col = ActiveCell.Column + 6
Dim row As Integer
row = ActiveCell.row
Dim rng As Range
Set rng = Range(Cells(2, col), Cells(row, col))
For Each c In rng
With c
.Interior.Pattern = xlSolid
.Interior.PatternColorIndex = xlAutomatic
.Interior.Color = 65535
.Interior.TintAndShade = 0
.Interior.PatternTintAndShade = 0
.Value = 35
End With
Next
End Sub
如果您想让它注明上次导出的位置,可以添加如下内容-
ActiveCell.Offset(, 7) = "export"
Range(Cells(1, col + 1), Cells(row - 1, col + 1)).Clear
谢谢@Raystafarian!我刚刚添加了ActiveCell.Offset(,7)=上面的“导出”用于每个。。。而且效果很好。
ActiveCell.Offset(, 7) = "export"
Range(Cells(1, col + 1), Cells(row - 1, col + 1)).Clear