Я поместил свой код VBA здесь, чтобы показать вам мой прогресс в этом вопросе.Предполагается, что это макрос, который активируется при нажатии кнопки команды.
Спасибо за ваши предложения, к сожалению, я не вижу, решит ли эта помеченная дубликат мою проблему.Я постараюсь уточнить это как можно лучше.В каждом рабочем листе в одном и том же диапазоне находятся два одинаковых блока ячеек шириной и высотой 9 * 9, и каждая ячейка заполняется одним числом от 1 до 9 значений.Значения ячеек также идентичны в обеих таблицах.То, что я ожидал бы от своего кода, это сравнить каждое из двух значений каждого диапазона в каждой ячейке, и, если все они совпадают, напишите в msgbox success, иначе произойдет сбой.Я попытался написать .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
Любой ответ мог быс благодарностью!Спасибо всем за ответы, мы наконец-то нашли решение!Я поставлю это ниже, если кто-то заинтересован в этом.Это слегка измененная версия версии Одатаса.
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