回答編集履歴
1
追記
test
CHANGED
@@ -29,3 +29,67 @@
|
|
29
29
|
同じ列の1行目に「変更者」という文字を入力したい
|
30
30
|
|
31
31
|
のでしょうか?
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
> mattuwanさんの仰る通りで、黄色のセル背景が存在する同じ列の1行目に「変更者」という文字を入力したいです!
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
例えばこんな感じかと。
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
```ExcelVBA
|
44
|
+
|
45
|
+
Sub test()
|
46
|
+
|
47
|
+
Dim c As Range
|
48
|
+
|
49
|
+
Dim r As Range
|
50
|
+
|
51
|
+
Dim s As String
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
Application.FindFormat.Interior.Color = vbYellow 'セルの書式の検索条件の設定
|
56
|
+
|
57
|
+
ActiveSheet.Rows(1).ClearContents 'シートの1行目をクリア
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
'シート上の使っているセル範囲の列の集合の各列を順に見ていく
|
62
|
+
|
63
|
+
For Each c In ActiveSheet.UsedRange.Columns
|
64
|
+
|
65
|
+
Set r = Nothing '変数の初期化
|
66
|
+
|
67
|
+
Set r = c.Find(What:="*", SearchFormat:=True) '検索
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
'見つかったかどうかで結果を変数に記録
|
72
|
+
|
73
|
+
If Not r Is Nothing Then
|
74
|
+
|
75
|
+
s = "変更者"
|
76
|
+
|
77
|
+
Else
|
78
|
+
|
79
|
+
s = ""
|
80
|
+
|
81
|
+
End If
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
c.Cells(0).Value = s '変数の値をセル範囲の0番目のセルへ記入
|
86
|
+
|
87
|
+
Next
|
88
|
+
|
89
|
+
End Sub
|
90
|
+
|
91
|
+
```
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
※シート上の状態によってはエラーになるかも知れません。
|