gpt4 book ai didi

vba - 取一系列合并单元格的值

转载 作者:行者123 更新时间:2023-12-04 22:03:09 24 4
gpt4 key购买 nike

我有一系列包含值的合并单元格。我只想读取每个合并单元格中包含的值。合并区域中的单元格数量会有所不同。现在我有这个:

Sub testnoms()
Dim cell As Range
For Each cell In ActiveSheet.Range("B20:K23") 'this would be the range to look at
Debug.Print cell.MergeArea.Cells(1, 1).Value
Next
End Sub

现在它转到范围内的每个单元格并返回其合并区域中的值。所以我得到了正确的值,但我对合并区域中的每个单元格都有一个副本。例如,如果 5 个单元格合并在一起,则打印合并单元格值的 5 倍。有没有人有解决这个问题的想法?

最佳答案

Sub testnoms()
Dim cell As Range
For Each cell In ActiveSheet.Range("B20:K23")
If cell.Address() = cell.MergeArea.Cells(1).Address() Then
Debug.Print cell.Address(), cell.MergeArea.Cells(1, 1).Value
End If
Next
End Sub

如果您需要捕获可能未完全包含在您定义的范围内的合并区域值:
Sub testnoms()
Dim c As Range, d, addr
Set d = CreateObject("scripting.dictionary")
For Each c In ActiveSheet.Range("B20:K23")
addr = c.MergeArea.Address()
If Not d.exists(addr) Then
d.Add addr, True
Debug.Print c.Address(), c.MergeArea.Cells(1).Value
End If
Next
End Sub

关于vba - 取一系列合并单元格的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30896724/

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