gpt4 book ai didi

excel - 如何比较两个不同excel工作表中的两个单元格范围?

转载 作者:行者123 更新时间:2023-12-04 20:53:10 24 4
gpt4 key购买 nike

我已将我的 vba 代码放在这里,以向您展示我迄今为止在该主题上的进展。这是一个在命令按钮单击时激活的宏。

感谢您的建议,不幸的是,我看不到标记的重复项是否可以解决我的问题。我会尽力澄清它。在每个 Worksheets 中,在同一范围内,有两个相同的 9*9 宽度和高度的单元格 block ,每个单元格填充一个从 1 到 9 的值。两个工作表中单元格的值也相同。我希望我的代码做的是比较每个单元格中两个范围的每个值,如果它们都匹配,则写入 msgbox 成功,否则失败。我尝试在定义每个范围后编写 .Value ,但这也不起作用。

我总是收到运行时错误 13:类型不匹配。我猜这种类型的问题与我的值不是同一类型有关,但我在每个声明的范围内只有数字。我已经用谷歌搜索了这个问题,但由于我似乎无法找出这个问题的根源,我希望你能成为我困境的答案。

Sub Check()    
If Sheets("Sudoku").Range("B2:J10") = Sheets("Solution").Range("B2:J10") Then
MsgBox "Success!"
Else
MsgBox "Fail!"
End If
End Sub

任何形式的答案将不胜感激!
谢谢大家的回答,终于找到解决办法了!如果有人对它感兴趣,我会把它放在下面。它是 Odatas 版本的略微修改版本。
Sub Check()
Dim i As Integer
Dim j As Integer

For i = 2 To Sheets("Sudoku").Cells(Sheets("Sudoku").Rows.Count, "B").End(xlUp).Row
For j = 2 To Sheets("Sudoku").Cells(2, Sheets("Sudoku").Columns.Count).End(xlToLeft).Column
If Sheets("Sudoku").Cells(j, i).Value = Sheets("Megoldás").Cells(j, i).Value Then
Else
MsgBox ("Fail!")
Exit Sub
End If
Next
Next
MsgBox ("Success!")

End Sub

最佳答案

您需要遍历所有值。

    Sub Check()
Dim i As Integer
Dim j As Integer


For i = 1 To Sheets("Sudoku").Cells(.Rows.Count, "A").End(xlUp).Row
for j= 1 to Sheets("Sudoku")..Cells(1, .Columns.Count).End(xlToLeft).Column
If Sheets("Sudoku").Cells(j, i).value = Sheets("Solution").Cells(j, i).value Then

Else If
MsgBox("Fail")
Exit Sub
End If

Next
Next

MsgBox("Success")
End Sub

关于excel - 如何比较两个不同excel工作表中的两个单元格范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53479669/

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