回答編集履歴

4

コード追加

2023/10/24 08:10

投稿

mdj
mdj

スコア220

test CHANGED
@@ -19,3 +19,46 @@
19
19
 
20
20
  Next i
21
21
  ```
22
+
23
+ 23/10/24 17:07 追記
24
+ 丸ごと貼り付けておきます。
25
+ 私の環境では動作しましたので、あとは動作環境でデバックしてもらうしかないかなと思います。
26
+
27
+ ```ここに言語を入力
28
+ Sub yuremark_backdata_edit()
29
+
30
+ Dim 修正一覧 As Range
31
+ Dim データ範囲 As Range
32
+ Dim i As Long
33
+ Dim wb1 As Workbook
34
+ Dim ExcelApp As New Application
35
+ Dim ReadFolderFullPath As String
36
+
37
+ ReadFolderFullPath = "[filePath]\hyoukiyure_list.xlsx"
38
+ ExcelApp.Visible = False
39
+ ExcelApp.DisplayAlerts = False
40
+ Set wb1 = ExcelApp.Workbooks.Open(ReadFolderFullPath, , True)
41
+ ' ワークシート「modify_ilist」を指定
42
+
43
+
44
+ Set 修正一覧 = wb1.Worksheets("modify_ilist").Range("A1").CurrentRegion
45
+
46
+ ' データ範囲はアクティブシートのUsedRangeを使用
47
+ Set データ範囲 = ActiveSheet.UsedRange
48
+
49
+ For i = 2 To 修正一覧.Rows.Count
50
+ Set findobj = データ範囲.Find(What:=修正一覧.Cells(i, 1).Value, LookAt:=xlPart)
51
+ If (Not (findobj Is Nothing)) Then
52
+ cStart = InStr(findobj, 修正一覧.Cells(i, 1).Value)
53
+ cLen = Len(修正一覧.Cells(i, 1).Value)
54
+ Cells(findobj.Cells.Row, findobj.Cells.Column).Characters(Start:=cStart, Length:=cLen).Font.Color = RGB(255, 0, 0)
55
+ End If
56
+
57
+ Next i
58
+
59
+ wb1.Close SaveChanges:=False ' ワークブックを閉じる
60
+
61
+ MsgBox "表記ゆれ候補を強調しました。"
62
+ End Sub
63
+ ```
64
+

3

追記分の追加

2023/10/24 04:15

投稿

mdj
mdj

スコア220

test CHANGED
@@ -5,6 +5,9 @@
5
5
 
6
6
  でどうでしょうか。
7
7
 
8
+ 2023/10/24 13:14 
9
+ If (Not (findobj Is Nothing)) Then の次行、Elseがあったのを削除しました。
10
+ 適当に書いていた時点で If (findobj Is Nothing) Then で書いていた名残です…
8
11
  ```ここに言語を入力
9
12
  For i = 2 To 修正一覧.Rows.Count
10
13
  Set findobj = データ範囲.Find(What:=修正一覧.Cells(i, 1).Value, LookAt:=xlPart)

2

Elseの削除もれ

2023/10/24 04:13

投稿

mdj
mdj

スコア220

test CHANGED
@@ -9,7 +9,6 @@
9
9
  For i = 2 To 修正一覧.Rows.Count
10
10
  Set findobj = データ範囲.Find(What:=修正一覧.Cells(i, 1).Value, LookAt:=xlPart)
11
11
  If (Not (findobj Is Nothing)) Then
12
- Else
13
12
  cStart = InStr(findobj, 修正一覧.Cells(i, 1).Value)
14
13
  cLen = Len(修正一覧.Cells(i, 1).Value)
15
14
  Cells(findobj.Cells.Row, findobj.Cells.Column).Characters(Start:=cStart, Length:=cLen).Font.Color = RGB(255, 0, 0)

1

withの削除漏れ

2023/10/24 02:44

投稿

mdj
mdj

スコア220

test CHANGED
@@ -7,9 +7,6 @@
7
7
 
8
8
  ```ここに言語を入力
9
9
  For i = 2 To 修正一覧.Rows.Count
10
- With Application.ReplaceFormat.Font.Color = 255
11
- End With
12
-
13
10
  Set findobj = データ範囲.Find(What:=修正一覧.Cells(i, 1).Value, LookAt:=xlPart)
14
11
  If (Not (findobj Is Nothing)) Then
15
12
  Else