gpt4 book ai didi

excel - 比较不同/单独表列中的值时出现 'Type mismatch' 运行时错误

转载 作者:行者123 更新时间:2023-12-02 16:28:34 25 4
gpt4 key购买 nike

基本上,我只想检查单独表格列中的两个单元格是否包含相同的字符串,如果包含,我想为另一个字符串分配一个 .Offset(, 1)远离原来的细胞。

我现在正在尝试解决这个问题几个小时。我还尝试比较 .text 属性并使用 CStr() 进行转换,但仍然出现不匹配错误。

这是一个示例

Dim c1 As Range
Dim c2 As Range

For Each c1 In tranTab.DataBodyRange.Columns(1)
For Each c2 In rawTab.DataBodyRange.Columns(9)
If c2.Value = c1.Value Then
c2.Value = c1.Offset(, 1).Value
End If
Next c2
Next c1

调试突出显示这一行:

If c2.Value = c1.Value Then

并抛出:

'Type mismatch' Run-time error

本地窗口中,两者都显示为变体/变体类型。这是我的第一篇文章/问题,我几乎可以肯定我已经完成了研究以找到有关不匹配问题的所有类似信息,但在涉及表/ListObjects 操作时没有详尽的主题。

最佳答案

循环不是通过单元格,而是通过整个列。尝试此操作并检查地址是否为以下列之一:

Sub TestMe()

Dim c1 As Range
For Each c1 In Worksheets(1).ListObjects("tranTab").DataBodyRange.Columns(1)
Debug.Print c1.Address
Next c1

End Sub

为了循环访问单元格,请在 for-each 循环末尾添加 .Cells:

For Each c1 In Worksheets(1).ListObjects("tranTab").DataBodyRange.Columns(1).Cells

关于excel - 比较不同/单独表列中的值时出现 'Type mismatch' 运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59054283/

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