VBA 2007-简易变量任务-复制和范围
抱歉打扰了你,但我有qq: 任务: 有一个专栏,其中有一个单词我需要找到克米特。然后从Kermit向下选择单元格,直到最后一个。而不是改变颜色,就是这样 问题: 我想用第一个变量表示带有Kermit的单元格,第二个变量表示最终的选择。 我真的对VBA和变量感到困惑。。 有什么想法吗?提前感谢VBA 2007-简易变量任务-复制和范围,vba,excel,Vba,Excel,抱歉打扰了你,但我有qq: 任务: 有一个专栏,其中有一个单词我需要找到克米特。然后从Kermit向下选择单元格,直到最后一个。而不是改变颜色,就是这样 问题: 我想用第一个变量表示带有Kermit的单元格,第二个变量表示最终的选择。 我真的对VBA和变量感到困惑。。 有什么想法吗?提前感谢 Sub Muppets() Dim Kermit As Range Set Kermit = Cells.Find("Kermit") Dim ooo As Range
Sub Muppets()
Dim Kermit As Range
Set Kermit = Cells.Find("Kermit")
Dim ooo As Range
Set ooo = Range((Kermit), Range("Kermit").End(xlDown).Offset(-1, 0)).Select
ooo.Interior.Color = rgbLightBlue
End Sub
我发现在这种情况下,我很难打破它。如果您可以使用“debug.print”,在启动时会有所帮助 VBA中的范围函数采用起始地址和结束地址。你有第一个: 克米特地址 当我看第二个地址时,我发现它在你的手机之前。您的偏移量应为正值-这将获得我的测试表上的范围: rangeKermit.address,kermit.offset1,0.EndxlDown.address.address 该函数类似于,因此您也可以使用RGB函数:
Sub Muppets()
Dim Kermit As Range
Set Kermit = Cells.Find("Kermit")
Dim ooo As Range
Set ooo = Range(Kermit.Address, Kermit.Offset(1, 0).End(xlDown).Address)
ooo.Interior.Color = vbBlue ' RGB(0, 0, 255)
End Sub
这应该是你想要的。将在指定的工作表Kermit中找到“Kermit”,然后仅将从该点到最后一行的该列设置为您的颜色
Sub Button1_Click()
Dim LastRow As Long
Dim LastCol As Long
Dim rng1 As Range
Dim rng2 As Range
Dim rng3 As Range
With ActiveWorkbook.Sheets("Kermit")
LastRow = Cells.Find(What:="*", After:=Range("A1"), SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
LastCol = Cells.Find(What:="*", After:=Range("A1"), SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).column
Set rng1 = .Cells.Find("Kermit", [A1], xlFormulas, xlPart, , , False)
If Not rng1 Is Nothing Then
Set rng2 = Rows(LastRow) 'Range(LastRow, rng1.column)
.Range(Cells(rng1.Row, rng1.column), Cells(LastRow - 1, rng1.column)).Select
End If
End With
Selection.Interior.Color = rgbLightBlue
End Sub
您的抵销码的用途是什么?你到底想选择/强调什么?让我抛出一些可能的澄清,如果我错了,请纠正我:你有数据和列标题。其中一个列标题是Kermit。您需要找到该标题,选择除列中最后一个单元格之外的整个列,并高亮显示所有浅蓝色?