質問編集履歴
3
aaaaaaaaaaaaaaaa
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
aaaaaaaaaaaaaa
|
body
CHANGED
@@ -1,70 +1,1 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
集計表(画像1枚目)の氏名の横にあるそれぞれの月のセルを選択すると、一覧表(画像2枚目)に記載されている、その月にその人が担当している月別工数、顧客企業名、案件名、開始日、終了日をメッセージボックスに出力できるようにしたいです。
|
4
|
-
|
5
|
-
イメージとしては画像3枚目のような形で、複数当てはまるものがある場合、改行してその数だけ表示をさせます。
|
6
|
-
|
7
|
-
はじめてVBAを触り、身近に質問できる方もおらず数日調べ続けても詰まっているのでこちらで質問させていただきます。
|
8
|
-
|
9
|
-
拙い文章、基本も怪しいコードですがよろしくお願いいたします。
|
10
|
-
|
11
|
-
【集計表】
|
12
|
-
|
13
|
-
|
14
|
-
【一覧表】
|
15
|
-
|
16
|
-
|
17
|
-
【出力のイメージ】
|
18
|
-
|
19
|
-
|
20
|
-
### 発生している問題・エラーメッセージ
|
21
|
-
|
22
|
-
|
23
|
-
一覧表(画像2枚目)の氏名、月別工数、顧客企業名、案件名、開始、終了日項目の情報を集計表(画像1枚目)の選択した月のメッセージボックスに表示させたいが、調べても実現できず詰まっております…
|
24
|
-
|
25
|
-
|
26
|
-
### 該当のソースコード
|
27
|
-
|
28
|
-
```VBA
|
29
|
-
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
|
30
|
-
|
31
|
-
|
32
|
-
'氏名に関する変数
|
33
|
-
Dim nameSearch As Range, nameFind As Range, nameNext As Range
|
34
|
-
|
35
|
-
Set nameSearch = Sheets("一覧表").Range("B:B")
|
36
|
-
|
37
|
-
Set nameFind = nameSearch.Find(What:=ActiveCell.Offset(0, -1), LookAt:=xlPart)
|
38
|
-
|
39
|
-
|
40
|
-
Set nameNext = nameFind
|
41
|
-
|
42
|
-
|
43
|
-
If Not Intersect(Target, Range("C:C")) Is Nothing Then
|
44
|
-
Do While Not nameFind Is Nothing
|
45
|
-
Debug.Print nameFind.Row
|
46
|
-
|
47
|
-
Set nameFind = nameNext.FindNext(nameFind)
|
48
|
-
|
49
|
-
If nameFind.Address = nameNext.Address Then
|
50
|
-
MsgBox nameFind & " | " & Sheets("一覧表").Range("C4") & " | " & Sheets("一覧表").Range("D4") & " | " & Sheets("一覧表").Range("E4") & " | " & Sheets("一覧表").Range("F4") & " | " & Sheets("一覧表").Range("G4")
|
51
|
-
|
52
|
-
|
53
|
-
'BCセルの氏名の開始が2021/7/1以下、終了日が2021/7/1以上の顧客企業名、工数/月、案件名、開始、終了を出力する。
|
54
|
-
Exit Do
|
55
|
-
End If
|
56
|
-
|
57
|
-
Loop
|
58
|
-
|
59
|
-
End If
|
60
|
-
End Sub
|
61
|
-
```
|
62
|
-
|
63
|
-
### 試したこと
|
64
|
-
Findで一致した情報を探し、Whileで複数表示させることができるのではないかと考え、試験的に上記のコードを記述しています。
|
65
|
-
結果は画像3枚目のようになっています。
|
66
|
-
|
67
|
-
|
68
|
-
### 補足情報(FW/ツールのバージョンなど)
|
69
|
-
|
70
|
-
足りない情報等ご指摘いただければ追加していきます。
|
1
|
+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
2
画像の編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,70 +1,70 @@
|
|
1
|
-
### 前提・実現したいこと
|
2
|
-
|
3
|
-
集計表(画像1枚目)の氏名の横にあるそれぞれの月のセルを選択すると、一覧表(画像2枚目)に記載されている、その月にその人が担当している月別工数、顧客企業名、案件名、開始日、終了日をメッセージボックスに出力できるようにしたいです。
|
4
|
-
|
5
|
-
イメージとしては画像3枚目のような形で、複数当てはまるものがある場合、改行してその数だけ表示をさせます。
|
6
|
-
|
7
|
-
はじめてVBAを触り、身近に質問できる方もおらず数日調べ続けても詰まっているのでこちらで質問させていただきます。
|
8
|
-
|
9
|
-
拙い文章、基本も怪しいコードですがよろしくお願いいたします。
|
10
|
-
|
11
|
-
【集計表】
|
12
|
-
|
13
|
-
|
14
|
-
【一覧表】
|
15
|
-
|
16
|
-
|
17
|
-
【出力のイメージ】
|
18
|
-
|
19
|
-
|
20
|
-
### 発生している問題・エラーメッセージ
|
21
|
-
|
22
|
-
|
23
|
-
一覧表(画像2枚目)の氏名、月別工数、顧客企業名、案件名、開始、終了日項目の情報を集計表(画像1枚目)の選択した月のメッセージボックスに表示させたいが、調べても実現できず詰まっております…
|
24
|
-
|
25
|
-
|
26
|
-
### 該当のソースコード
|
27
|
-
|
28
|
-
```VBA
|
29
|
-
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
|
30
|
-
|
31
|
-
|
32
|
-
'氏名に関する変数
|
33
|
-
Dim nameSearch As Range, nameFind As Range, nameNext As Range
|
34
|
-
|
35
|
-
Set nameSearch = Sheets("一覧表").Range("B:B")
|
36
|
-
|
37
|
-
Set nameFind = nameSearch.Find(What:=ActiveCell.Offset(0, -1), LookAt:=xlPart)
|
38
|
-
|
39
|
-
|
40
|
-
Set nameNext = nameFind
|
41
|
-
|
42
|
-
|
43
|
-
If Not Intersect(Target, Range("C:C")) Is Nothing Then
|
44
|
-
Do While Not nameFind Is Nothing
|
45
|
-
Debug.Print nameFind.Row
|
46
|
-
|
47
|
-
Set nameFind = nameNext.FindNext(nameFind)
|
48
|
-
|
49
|
-
If nameFind.Address = nameNext.Address Then
|
50
|
-
MsgBox nameFind & " | " & Sheets("一覧表").Range("C4") & " | " & Sheets("一覧表").Range("D4") & " | " & Sheets("一覧表").Range("E4") & " | " & Sheets("一覧表").Range("F4") & " | " & Sheets("一覧表").Range("G4")
|
51
|
-
|
52
|
-
|
53
|
-
'BCセルの氏名の開始が2021/7/1以下、終了日が2021/7/1以上の顧客企業名、工数/月、案件名、開始、終了を出力する。
|
54
|
-
Exit Do
|
55
|
-
End If
|
56
|
-
|
57
|
-
Loop
|
58
|
-
|
59
|
-
End If
|
60
|
-
End Sub
|
61
|
-
```
|
62
|
-
|
63
|
-
### 試したこと
|
64
|
-
Findで一致した情報を探し、Whileで複数表示させることができるのではないかと考え、試験的に上記のコードを記述しています。
|
65
|
-
結果は画像3枚目のようになっています。
|
66
|
-
|
67
|
-
|
68
|
-
### 補足情報(FW/ツールのバージョンなど)
|
69
|
-
|
1
|
+
### 前提・実現したいこと
|
2
|
+
|
3
|
+
集計表(画像1枚目)の氏名の横にあるそれぞれの月のセルを選択すると、一覧表(画像2枚目)に記載されている、その月にその人が担当している月別工数、顧客企業名、案件名、開始日、終了日をメッセージボックスに出力できるようにしたいです。
|
4
|
+
|
5
|
+
イメージとしては画像3枚目のような形で、複数当てはまるものがある場合、改行してその数だけ表示をさせます。
|
6
|
+
|
7
|
+
はじめてVBAを触り、身近に質問できる方もおらず数日調べ続けても詰まっているのでこちらで質問させていただきます。
|
8
|
+
|
9
|
+
拙い文章、基本も怪しいコードですがよろしくお願いいたします。
|
10
|
+
|
11
|
+
【集計表】
|
12
|
+
|
13
|
+
|
14
|
+
【一覧表】
|
15
|
+
|
16
|
+
|
17
|
+
【出力のイメージ】
|
18
|
+
|
19
|
+
|
20
|
+
### 発生している問題・エラーメッセージ
|
21
|
+
|
22
|
+
|
23
|
+
一覧表(画像2枚目)の氏名、月別工数、顧客企業名、案件名、開始、終了日項目の情報を集計表(画像1枚目)の選択した月のメッセージボックスに表示させたいが、調べても実現できず詰まっております…
|
24
|
+
|
25
|
+
|
26
|
+
### 該当のソースコード
|
27
|
+
|
28
|
+
```VBA
|
29
|
+
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
|
30
|
+
|
31
|
+
|
32
|
+
'氏名に関する変数
|
33
|
+
Dim nameSearch As Range, nameFind As Range, nameNext As Range
|
34
|
+
|
35
|
+
Set nameSearch = Sheets("一覧表").Range("B:B")
|
36
|
+
|
37
|
+
Set nameFind = nameSearch.Find(What:=ActiveCell.Offset(0, -1), LookAt:=xlPart)
|
38
|
+
|
39
|
+
|
40
|
+
Set nameNext = nameFind
|
41
|
+
|
42
|
+
|
43
|
+
If Not Intersect(Target, Range("C:C")) Is Nothing Then
|
44
|
+
Do While Not nameFind Is Nothing
|
45
|
+
Debug.Print nameFind.Row
|
46
|
+
|
47
|
+
Set nameFind = nameNext.FindNext(nameFind)
|
48
|
+
|
49
|
+
If nameFind.Address = nameNext.Address Then
|
50
|
+
MsgBox nameFind & " | " & Sheets("一覧表").Range("C4") & " | " & Sheets("一覧表").Range("D4") & " | " & Sheets("一覧表").Range("E4") & " | " & Sheets("一覧表").Range("F4") & " | " & Sheets("一覧表").Range("G4")
|
51
|
+
|
52
|
+
|
53
|
+
'BCセルの氏名の開始が2021/7/1以下、終了日が2021/7/1以上の顧客企業名、工数/月、案件名、開始、終了を出力する。
|
54
|
+
Exit Do
|
55
|
+
End If
|
56
|
+
|
57
|
+
Loop
|
58
|
+
|
59
|
+
End If
|
60
|
+
End Sub
|
61
|
+
```
|
62
|
+
|
63
|
+
### 試したこと
|
64
|
+
Findで一致した情報を探し、Whileで複数表示させることができるのではないかと考え、試験的に上記のコードを記述しています。
|
65
|
+
結果は画像3枚目のようになっています。
|
66
|
+
|
67
|
+
|
68
|
+
### 補足情報(FW/ツールのバージョンなど)
|
69
|
+
|
70
70
|
足りない情報等ご指摘いただければ追加していきます。
|
1
タイトルの変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
選択したセルの人が持っている、その月の情報をメッセージボックスに出力したい
|
1
|
+
【VBA】選択したセルの人が持っている、その月の情報をメッセージボックスに出力したい
|
body
CHANGED
File without changes
|