質問編集履歴
3
頂いた情報をもとに、自分で考えてみます。ありがとうございました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
###再度自分で考えてみます。
|
2
|
+
|
3
|
+
閲覧いただきありがとうございます。
|
4
|
+
|
5
|
+
・問題発生してまたヘルプを出す
|
6
|
+
|
7
|
+
・自己解決する
|
8
|
+
|
9
|
+
以上のどちらかになるまで、この質問はそのままにしておきます。
|
10
|
+
|
11
|
+
(情報の追加、修正依頼はお待ちしております…)
|
12
|
+
|
13
|
+
|
14
|
+
|
1
15
|
### 実現したいこと
|
2
16
|
|
3
17
|
ユーザーフォーム(文字列検索フォーム)作成
|
2
コード修正、エラー追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -10,31 +10,11 @@
|
|
10
10
|
|
11
11
|
→検索ボタン押す
|
12
12
|
|
13
|
-
→"Sheet1" を除くすべてのシート(のB列)からその文字列を含むセルを取得
|
13
|
+
→"Sheet1" を除くすべてのシート(のB列)からその文字列を含む(部分一致)セルを取得
|
14
14
|
|
15
15
|
|
16
16
|
|
17
17
|
"Sheet1" のA-C列に、取得したB列のセルの値と、隣り合うA,C列のセルの値を貼り付け
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
### 問題点
|
22
|
-
|
23
|
-
0. セルを探しても、毎回Nothingが返されてしまう
|
24
|
-
|
25
|
-
0. Nothingの場合、次のシートで検索をかけたい
|
26
|
-
|
27
|
-
→If foundCell Is Nothing Thenのあと、どう記述すればよいのか不明
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
検索文字列のある対象セルが毎回Nothing→そのままEnd Subのため、
|
32
|
-
|
33
|
-
貼り付けの動作確認は出来ておりません。
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
「問題点」の2点について、お力を貸していただきたいです。
|
38
18
|
|
39
19
|
|
40
20
|
|
@@ -55,6 +35,8 @@
|
|
55
35
|
Dim foundCell As Range
|
56
36
|
|
57
37
|
Dim firstCell As Range
|
38
|
+
|
39
|
+
Dim r As Integer
|
58
40
|
|
59
41
|
|
60
42
|
|
@@ -102,8 +84,6 @@
|
|
102
84
|
|
103
85
|
foundCell.Resize(1, 3).Copy Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
|
104
86
|
|
105
|
-
End If 'if3
|
106
|
-
|
107
87
|
Do
|
108
88
|
|
109
89
|
'セルがまだあったら
|
@@ -118,13 +98,15 @@
|
|
118
98
|
|
119
99
|
'以下1行ずつ下に貼り付け
|
120
100
|
|
121
|
-
foundCell.Resize(1.3).Copy
|
101
|
+
foundCell.Resize(1.3).Copy Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
|
122
102
|
|
123
103
|
End If 'if4
|
124
104
|
|
125
105
|
'貼り付けのループ
|
126
106
|
|
127
107
|
Loop
|
108
|
+
|
109
|
+
End If 'if3'
|
128
110
|
|
129
111
|
End If 'if2
|
130
112
|
|
@@ -135,6 +117,20 @@
|
|
135
117
|
End Sub
|
136
118
|
|
137
119
|
```
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
### エラー箇所
|
124
|
+
|
125
|
+
```ExcelVBA
|
126
|
+
|
127
|
+
If foundCell.Address - firstCell.Address Then 'if4
|
128
|
+
|
129
|
+
```
|
130
|
+
|
131
|
+
> 実行時エラー13
|
132
|
+
|
133
|
+
> 型が一致しません。
|
138
134
|
|
139
135
|
|
140
136
|
|
1
Set foundCell = targetsheet.Cells.Find(what:=Boxstr)
test
CHANGED
File without changes
|
test
CHANGED
@@ -82,7 +82,7 @@
|
|
82
82
|
|
83
83
|
'あるはずなのに毎回Nothingになる
|
84
84
|
|
85
|
-
Set foundCell = Cells.Find _
|
85
|
+
Set foundCell = targetsheet.Cells.Find _
|
86
86
|
|
87
87
|
(what:=Boxstr)
|
88
88
|
|