teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記2

2017/12/01 06:45

投稿

ttyp03
ttyp03

スコア17002

answer CHANGED
@@ -16,5 +16,29 @@
16
16
  Next
17
17
  r = r + 1
18
18
  Loop
19
+ ```
20
+ 改良版
21
+ ```VBA
22
+ Dim r As Long
23
+ Dim p As Long
24
+ Dim len1 As Long
25
+ Dim len2 As Long
26
+ Dim lenmin As Long
27
+ r = 1
28
+ Do
29
+ If Cells(r, 1).Text = "" Then Exit Do
30
+ len1 = Len(Cells(r, 1).Text)
31
+ len2 = Len(Cells(r, 2).Text)
32
+ If len1 < len2 Then lenmin = len1 Else lenmin = len2
33
+ For p = 1 To lenmin
34
+ If Mid(Cells(r, 1).Text, p, 1) <> Mid(Cells(r, 2).Text, p, 1) Then
35
+ Cells(r, 2).Characters(Start:=p, Length:=1).Font.ColorIndex = 3
36
+ End If
37
+ Next
38
+ If len1 < len2 Then
39
+ Cells(r, 2).Characters(Start:=len1 + 1).Font.ColorIndex = 3
40
+ End If
41
+ r = r + 1
42
+ Loop
19
43
 
20
44
  ```

1

追記

2017/12/01 06:45

投稿

ttyp03
ttyp03

スコア17002

answer CHANGED
@@ -1,3 +1,5 @@
1
+ ワークシート関数ではできません。
2
+ マクロを作成してください。
1
3
  基本的な実装はこんな感じでしょうか。
2
4
  前と後で文字数は同じである前提です。
3
5
  A列とB列を1行目から比較しているので、適宜修正してください。