回答編集履歴
8
個人的な情報が入ったままでしたので、削除しただけです。コードに変更はありません。
answer
CHANGED
@@ -27,7 +27,7 @@
|
|
27
27
|
Set dctRowKomoku = New Dictionary
|
28
28
|
Set dctColHizuke = New Dictionary
|
29
29
|
|
30
|
-
strPath = "
|
30
|
+
strPath = "工数表は5シート目.xlsm"
|
31
31
|
Set wbkKousu = Workbooks.Open(strPath)
|
32
32
|
Set wshKousu = wbkKousu.Worksheets(5)
|
33
33
|
|
7
スペルミスの修正
answer
CHANGED
@@ -48,7 +48,7 @@
|
|
48
48
|
dctColHizuke.Add wshKousu.Cells(cnsRowKousuHizuke, lngCol).Value, lngCol
|
49
49
|
Next lngCol
|
50
50
|
'2020/08/21 15:25 add start
|
51
|
-
wshKousu.Range(wshKousu.Cells(cnsRowKousuBgn, cnsColKousuBgn), wshKousu.Cells(lngRowKousuEnd, lngColKousuEnd)).
|
51
|
+
wshKousu.Range(wshKousu.Cells(cnsRowKousuBgn, cnsColKousuBgn), wshKousu.Cells(lngRowKousuEnd, lngColKousuEnd)).ClearContents
|
52
52
|
'2020/08/21 15:25 add end
|
53
53
|
For lngWshNum = 1 To ThisWorkbook.Worksheets.Count
|
54
54
|
With ThisWorkbook.Worksheets(lngWshNum)
|
6
空白項目のチェックを追加
answer
CHANGED
@@ -27,7 +27,7 @@
|
|
27
27
|
Set dctRowKomoku = New Dictionary
|
28
28
|
Set dctColHizuke = New Dictionary
|
29
29
|
|
30
|
-
strPath = "工数表は5シート目.xlsm"
|
30
|
+
strPath = "C:\Users\kitasue\Documents\工数表は5シート目.xlsm"
|
31
31
|
Set wbkKousu = Workbooks.Open(strPath)
|
32
32
|
Set wshKousu = wbkKousu.Worksheets(5)
|
33
33
|
|
@@ -36,7 +36,9 @@
|
|
36
36
|
Do Until lngRow > lngRowKousuEnd
|
37
37
|
'2020/08/21 14:29 upd start
|
38
38
|
' dctRowKomoku.Add wshKousu.Cells(lngRow, cnsColKousuKomoku).Value, lngRow
|
39
|
+
If Trim(wshKousu.Cells(lngRow, cnsColKousuKomoku).Value) <> "" Then
|
39
|
-
|
40
|
+
dctRowKomoku.Add Trim(wshKousu.Cells(lngRow, cnsColKousuKomoku).Value), lngRow
|
41
|
+
End If
|
40
42
|
'2020/08/21 14:29 upd end
|
41
43
|
lngRow = wshKousu.Cells(lngRow, cnsColKousuKomoku).End(xlDown).Row
|
42
44
|
Loop
|
5
私の個人的な情報を削除
answer
CHANGED
@@ -27,7 +27,7 @@
|
|
27
27
|
Set dctRowKomoku = New Dictionary
|
28
28
|
Set dctColHizuke = New Dictionary
|
29
29
|
|
30
|
-
strPath = "
|
30
|
+
strPath = "工数表は5シート目.xlsm"
|
31
31
|
Set wbkKousu = Workbooks.Open(strPath)
|
32
32
|
Set wshKousu = wbkKousu.Worksheets(5)
|
33
33
|
|
4
集計値を初期クリアする処理を追加
answer
CHANGED
@@ -27,7 +27,7 @@
|
|
27
27
|
Set dctRowKomoku = New Dictionary
|
28
28
|
Set dctColHizuke = New Dictionary
|
29
29
|
|
30
|
-
strPath = "工数表は5シート目.xlsm"
|
30
|
+
strPath = "C:\Users\kitasue\Documents\工数表は5シート目.xlsm"
|
31
31
|
Set wbkKousu = Workbooks.Open(strPath)
|
32
32
|
Set wshKousu = wbkKousu.Worksheets(5)
|
33
33
|
|
@@ -45,9 +45,9 @@
|
|
45
45
|
For lngCol = cnsColKousuBgn To lngColKousuEnd
|
46
46
|
dctColHizuke.Add wshKousu.Cells(cnsRowKousuHizuke, lngCol).Value, lngCol
|
47
47
|
Next lngCol
|
48
|
-
|
48
|
+
'2020/08/21 15:25 add start
|
49
49
|
wshKousu.Range(wshKousu.Cells(cnsRowKousuBgn, cnsColKousuBgn), wshKousu.Cells(lngRowKousuEnd, lngColKousuEnd)).ClearComments
|
50
|
-
|
50
|
+
'2020/08/21 15:25 add end
|
51
51
|
For lngWshNum = 1 To ThisWorkbook.Worksheets.Count
|
52
52
|
With ThisWorkbook.Worksheets(lngWshNum)
|
53
53
|
lngColYoteiEnd = cnsColYoteiBgn + 12
|
3
Const値を変更
answer
CHANGED
@@ -2,12 +2,12 @@
|
|
2
2
|
```VBA
|
3
3
|
Sub KosuBook()
|
4
4
|
Const cnsRowKousuHizuke = 3
|
5
|
-
Const cnsRowKousuBgn =
|
5
|
+
Const cnsRowKousuBgn = 4
|
6
6
|
Const cnsColKousuKomoku = 4
|
7
7
|
Const cnsColKousuBgn = 13
|
8
8
|
Const cnsRowYoteiHizuke = 1
|
9
9
|
Const cnsRowYoteiBgn = 3
|
10
|
-
Const cnsColYoteiBgn =
|
10
|
+
Const cnsColYoteiBgn = 6
|
11
11
|
|
12
12
|
Dim wbkKousu As Workbook
|
13
13
|
Dim wshKousu As Worksheet
|
2
日付行を3行目に変更
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
マクロを予定表側に組んでみました。
|
2
2
|
```VBA
|
3
3
|
Sub KosuBook()
|
4
|
-
Const cnsRowKousuHizuke =
|
4
|
+
Const cnsRowKousuHizuke = 3
|
5
5
|
Const cnsRowKousuBgn = 3
|
6
6
|
Const cnsColKousuKomoku = 4
|
7
7
|
Const cnsColKousuBgn = 13
|
1
項目名から空白を削除してみた
answer
CHANGED
@@ -34,7 +34,10 @@
|
|
34
34
|
lngRowKousuEnd = wshKousu.Cells(Rows.Count, cnsColKousuKomoku).End(xlUp).Row
|
35
35
|
lngRow = cnsRowKousuBgn
|
36
36
|
Do Until lngRow > lngRowKousuEnd
|
37
|
+
'2020/08/21 14:29 upd start
|
38
|
+
' dctRowKomoku.Add wshKousu.Cells(lngRow, cnsColKousuKomoku).Value, lngRow
|
37
|
-
dctRowKomoku.Add wshKousu.Cells(lngRow, cnsColKousuKomoku).Value, lngRow
|
39
|
+
dctRowKomoku.Add Trim(wshKousu.Cells(lngRow, cnsColKousuKomoku).Value), lngRow
|
40
|
+
'2020/08/21 14:29 upd end
|
38
41
|
lngRow = wshKousu.Cells(lngRow, cnsColKousuKomoku).End(xlDown).Row
|
39
42
|
Loop
|
40
43
|
|
@@ -43,13 +46,18 @@
|
|
43
46
|
dctColHizuke.Add wshKousu.Cells(cnsRowKousuHizuke, lngCol).Value, lngCol
|
44
47
|
Next lngCol
|
45
48
|
|
49
|
+
wshKousu.Range(wshKousu.Cells(cnsRowKousuBgn, cnsColKousuBgn), wshKousu.Cells(lngRowKousuEnd, lngColKousuEnd)).ClearComments
|
50
|
+
|
46
51
|
For lngWshNum = 1 To ThisWorkbook.Worksheets.Count
|
47
52
|
With ThisWorkbook.Worksheets(lngWshNum)
|
48
53
|
lngColYoteiEnd = cnsColYoteiBgn + 12
|
49
54
|
For lngCol = cnsColYoteiBgn To lngColYoteiEnd Step 2
|
50
55
|
lngRowYoteiEnd = .Cells(Rows.Count, lngCol).End(xlUp).Row
|
51
56
|
For lngRow = cnsRowYoteiBgn To lngRowYoteiEnd
|
57
|
+
'2020/08/21 14:29 upd start
|
58
|
+
' lngRowKousu = dctRowKomoku.Item(.Cells(lngRow, lngCol).Value)
|
52
|
-
lngRowKousu = dctRowKomoku.Item(.Cells(lngRow, lngCol).Value)
|
59
|
+
lngRowKousu = dctRowKomoku.Item(Trim(.Cells(lngRow, lngCol).Value))
|
60
|
+
'2020/08/21 14:29 upd end
|
53
61
|
lngColKousu = dctColHizuke.Item(.Cells(cnsRowYoteiHizuke, lngCol - 1).Value)
|
54
62
|
If lngRowKousu > 0 And lngColKousu > 0 Then
|
55
63
|
wshKousu.Cells(lngRowKousu, lngColKousu).Value = wshKousu.Cells(lngRowKousu, lngColKousu).Value + 0.5
|