excel - 查找连续值的计数

标签 excel vba

我试图找到连续值的计数,以便将其更改为另一个值。例子 :

A
A
B
A
B
B
B
B
A

如果有连续值(AA、AAA、AAAA.. 或 BB、BBB、BBBB...),则将第二个和相应的值替换为 C

我尝试了以下代码:
Dim values As Integer
values = Range().Rows.Count

For i = 1 To values
    If Range().Cells(i, 1) = Range().Cells(i + 1, 1) Then
        Range().Cells(i + 1, 1) = “C”
    End If
Next i

但是,这只考虑了 2 个连续值,并且不超过 2.. 如何修复我的代码?

感谢帮助。

谢谢

最佳答案

请尝试下一个代码。在您的代码中,第一次替换后,条件不再匹配。代码假定要处理的列是“A:A”:

Sub removeConsecRowsValue()
  Dim sh As Worksheet, values As Long, i As Long, j As Long
   Set sh = ActiveSheet 'use here your sheet
   values = Range("A" & Rows.count).End(xlUp).Row 'supposing that the column to be processed is A:A
    For i = 1 To values
        If sh.Range("A" & i).value = sh.Range("A" & i + 1).value Then
            Dim rng As Range
            For j = i + 1 To i + 1000
                If sh.Range("A" & j).value = sh.Range("A" & i).value Then
                    If rng Is Nothing Then
                       Set rng = sh.Range("A" & j)
                    Else
                       Set rng = Union(rng, sh.Range("A" & j))
                    End If
                Else
                    rng.Replace sh.Range("A" & i).value, "C"
                    Exit For
                End If
            Next j
        End If
    Next i
End Sub

关于excel - 查找连续值的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62245097/

相关文章:

vb.net - 在 Excel 中从 VBA 调用 VB.Net

excel - 撇号之间的区别?

excel - 编辑 .ppam 文件以自定义加载项

Excel从文本框中获取单元格值

excel - 如何找到使用 VBA 匹配的范围内的最后一行单元格?

excel - 使用 VBA 从 DIV 检索数据

excel - VBA:Worksheet_Change - Target.Address 与使用相交

vba - 键入时格式化 TextBox 中的数字

vba - 创建从 Excel 流程图到 MS Word 标题的超链接

vba - 类型名称与变量类型