gpt4 book ai didi

excel - 找到满足条件的单元格对然后做一些excel vba

转载 作者:行者123 更新时间:2023-12-04 21:03:00 27 4
gpt4 key购买 nike

我有一个在特定列中搜索粗体字符的函数。在我的情况下,列 C。我想要它做的是找到包含粗体字符的单元格对,然后在 I 列中搜索以查看它们之间是否存在某些东西。我知道如何从那里处理。我只是被困在如何找到满足条件的细胞对。

这是功能:

Function FindBoldCharacters(ByVal aCell As Range) As Boolean
FindBoldCharacters = IsNull(aCell.Font.Bold)
If Not FindBoldCharacters Then FindBoldCharacters = aCell.Font.Bold
End Function

下面是代码中函数的调用方式
    For Each i In Range("C11:C300")
If FindBoldCharacters(i) = True Then
'do some stuff here'
Set s = i
s.Interior.ColorIndex = 8 '''for testing purposes'''


Else

End If
Next i

我知道当前调用它的方式是搜索所有满足条件的单元格。我只是不知道怎么写才能停止和 do something当它两次满足条件时。此外,为了使其正常工作,它必须保留两个满足条件中的第二个,否则每对之间会有间隙。

我想朝着正确的方向前进。我不一定想要为我编写一整段代码,但如果是这种情况,请解释它是如何工作的。我想了解vba,而不仅仅是实现它并忘记它。

更新

本质上这就是我想要发生的事情

Results example

最佳答案

这是你想做的吗

Option Explicit

Sub findBoldCells()
Dim cel As Range, fnd1 As Long, fnd2 As Long, i As Long, cl As Long

cl = RGB(222, 255, 255)

For Each cel In Range("C11:C300")

If cel.Font.Bold = True Then
If fnd1 = 0 Then fnd1 = cel.Row Else fnd2 = cel.Row
End If

If fnd1 > 0 And fnd2 > 0 Then 'we found 1st and 2nd cell with bold text

Range(Range("C" & fnd1), Range("C" & fnd2)).Interior.Color = cl

If fnd2 > fnd1 Then
Range("C" & fnd1).Interior.Color = vbYellow
Range("C" & fnd2).Interior.Color = vbYellow
End If

For i = fnd1 To fnd2
With Range("I" & i)
.Interior.Color = vbCyan 'check values in col I...
.Value2 = i
End With
Next

fnd1 = 0: fnd2 = 0 'prepare for next iteration

End If
Next
End Sub

enter image description here

关于excel - 找到满足条件的单元格对然后做一些excel vba,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32382208/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com