質問編集履歴

1

問題の原因がわかりましたので、結果を追記しました。

2020/04/08 05:58

投稿

nbotnk
nbotnk

スコア9

test CHANGED
File without changes
test CHANGED
@@ -447,3 +447,53 @@
447
447
 
448
448
 
449
449
  以上、よろしくお願いいたします。
450
+
451
+
452
+
453
+
454
+
455
+ <解決しました>
456
+
457
+
458
+
459
+ 誤動作の原因が分かりました。
460
+
461
+ どう見ても同じなのに不一致、つまり差分箇所と判定されている箇所を
462
+
463
+ 抜き出し、LEN関数で文字数を確認したところ、1文字違っていました。
464
+
465
+ 一方のリストに余分な制御コードが含まれていたのです。
466
+
467
+ セル内の改行回数は同じであり、スペースもないので、その制御コードに
468
+
469
+ どのような機能があるのかは不明ですが、すべてのセルの制御コードを
470
+
471
+ 削除した後、改めて差分チェックマクロを実行すると、正確な結果が得られました。
472
+
473
+
474
+
475
+ 今後は、制御コードによる文字数の不一致にも対応できるようにコードを書き換えたいと
476
+
477
+ 思います。ただし、
478
+
479
+
480
+
481
+  Private Sub trim()
482
+
483
+ Dim c As Range
484
+
485
+ For Each c In Selection
486
+
487
+ c = WorksheetFunction.Clean(c)
488
+
489
+ Next c
490
+
491
+  End Sub
492
+
493
+
494
+
495
+ のような簡易なコードでは時間が結構かかったので、これを何とかしなくてはいけませんが。
496
+
497
+
498
+
499
+ 回答、コメントをくださった方々、ありがとうございました。