findnext, do loop until,查找下一个,循环语句,在一行中取几列,字体格式

本文介绍如何使用VBA中的find和findnext方法在Excel的指定列中查找特定文本并进行操作,包括复制单元格、改变字体颜色、背景色等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

range().findnext(after)在range中查找下一个(必须与find函数一起使用)

do

……

loop until


Sub f()

Dim rng As Range
Dim dizhi As String


Set rng = Range("a:a").Find("abc")'在a列中查找abc并赋给rng

dizhi = rng.Address第一个找到的rng的地址赋值给dizhi变量


Do

rng.Copy Cells(Rows.Count, "b").End(xlUp)‘将找到的rng复制到右侧’
Set rng = Range("a:a").FindNext( rng)‘查找下一个rng,并再次赋值给rng变量’
Loop Until rng.Address = dizhi‘循环,直到找到的rng的地址和第一个地址一样为止’


End Sub

注意:需要先使用find方法,并将其赋值给一个range变量。

然后才能使用findnext方法

findnext方法中的参数要用到range变量,不可以自定查找内容。



Sub ka()
Dim rng As Range
Dim rng2 As Range
Dim str As String


Set rng = Range("a:a").Find("abc")
str = rng.Address


Do
    Set rng = Range("a:a").FindNext(rng)
    Set rng2 = rng.EntireRow.Range("a1:c1")

‘这一句的目的是在rng2所在的整行中取1-3列。在某一区域中.range()属性用于选取其中的一部分,重新定位于该区域的左上角。
    rng2.Font.Color = RGB(255, 3, 3)
    rng2.Interior.Color = RGB(255, 255, 0)
    rng2.Font.Bold = True
Loop Until rng.Address = str
End Sub


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值