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

回答編集履歴

1

修正

2021/10/13 22:23

投稿

jinoji
jinoji

スコア4592

answer CHANGED
@@ -8,14 +8,16 @@
8
8
  Dim ansDic 'As Scripting.Dictionary
9
9
  Dim c As Range, k As String
10
10
 
11
+ 'titleを辞書に格納
11
12
  Set titleDic = CreateObject("Scripting.Dictionary")
12
13
  With Sheets("title")
13
14
  For Each c In .UsedRange.Resize(, 1)
14
15
  k = c.Value
15
- ansDic(k) = c.Offset(, 1).Value
16
+ titleDic (k) = c.Offset(, 1).Value
16
17
  Next
17
18
  End With
18
19
 
20
+ 'answerを辞書に格納
19
21
  Set ansDic = CreateObject("Scripting.Dictionary")
20
22
  With Sheets("answer")
21
23
  For Each c In .UsedRange.Resize(, 1)
@@ -29,6 +31,7 @@
29
31
  End With
30
32
 
31
33
  With Sheets("Sheet1")
34
+ '各セルの値をanswer辞書で変換
32
35
  For Each c In .UsedRange.Resize(.UsedRange.Rows.Count - 1).Offset(1)
33
36
  k = .UsedRange(1, c.Column)
34
37
  If InStr(k, "_") = 0 Then
@@ -40,6 +43,7 @@
40
43
  End If
41
44
  Next
42
45
 
46
+ 'titleの行をtitle辞書で変換
43
47
  For Each c In .UsedRange.Resize(1)
44
48
  If titleDic.Exists(c.Value) Then
45
49
  c.Value = titleDic(c.Value)