質問編集履歴

3

\[イメージ説明\]\(https://teratail\.com/uploads/contributed_images/6bee3566021f9bb724f9e4c87a3a5a89\.png\) この図を

2015/12/21 05:35

投稿

YSzk
YSzk

スコア8

test CHANGED
File without changes
test CHANGED
@@ -1,41 +1,149 @@
1
- はじめまして。先輩エンジニアの皆さま。12月よりエンジニア(見習い)になったものです。
2
-
3
-
4
-
5
- アルゴリズム(主にフローチャート)の勉強からスタートし、現在は同じ企業の先輩社員の方が既に作った勤務表の改良という作業を3人(私と同期入社2人)で行っております。それぞれの改良項目を担当制でまず行い、その後合体させることになりそうです。
6
-
7
-
8
-
9
1
  [イメージ説明](https://teratail.com/uploads/contributed_images/6bee3566021f9bb724f9e4c87a3a5a89.png)
10
2
 
11
3
 
12
4
 
13
- 勤務表改良作業で行き詰っている部分があります。このイメージ画像の出勤・休暇種の文字は確認でますか。届け出欄内で出勤・休暇種を選び届け出が必要な種を選んだ場合、届け出の有無をインフォメーションする(今考えているのはMsgbox)考えてます。因みに、出勤・休暇種の部分は「プルダウン」で選択可能になっています。更に、出勤・休暇種で届け出が必要なものを選んだ場合に、届け出欄も提出た場合と未提出の場合で区別がつく方法をマクロかVBAで自動で書き込めれば・・・と考えています。
5
+ 図をご覧になっていただき、再度質問する回答お願いします。
6
+
7
+ ---------------------------------------------------------------------------------------------------------
8
+
9
+ ・ドロップダウンで出勤・休暇種の中から有休や各種特別な休暇(申請書の提出が必要)を選択するようにし、選んだ種目と未提出or提出済みが入力されるという処理を行いたい(自動で、連動して)。
14
10
 
15
11
 
16
12
 
17
- 着地点をどこにもっいくかどういっ処理や工程が必要かそのめにどうったコマンドを書けばいいのアイデア思い浮かべことができてません
13
+ ・そして、すべて記入を終え提出ファイル作成ボタンを押しときに提出し忘れ申請書いか、メッセージ表示すようにしたい。
14
+
15
+ (予め用意されているVBAについては下記のとおりです。自分のイメージでは、この構文に加筆して追加するイメージです。しかし、目的を達成するために良い方法(難しくない、簡単、シンプル)があれば、そちらも教えていただければと思います。)
18
16
 
19
17
 
20
18
 
19
+ 最低限、これらの方法を達成する方法とそれに必要な関数など御教授いただければと思います。
20
+
21
+ ---------------------------------------------------------------------------------------------------------
22
+
23
+ Sub 提出用ファイル作成()
24
+
25
+ If Range("D2") = Range("A41") + Range("F41") + Range("U33") And Range("A36") - Range("A37") = Range("C36") Then
26
+
21
- いただければ幸いです。よろくお願いいたします。
27
+ MsgBox "出用のファイル作成します。"
28
+
29
+ Else
30
+
31
+ MsgBox "誤りがあります。"
32
+
33
+ Exit Sub
34
+
35
+ End If
36
+
37
+ Dim ReturnBook As String, TargetBook As String
38
+
39
+ Dim ReturnSheet As String, TargetSheet As String
40
+
41
+
42
+
43
+ ReturnBook = ActiveWorkbook.name
44
+
45
+ ReturnSheet = ActiveSheet.name
46
+
47
+
48
+
49
+ 'Call 新しいブックを開く
50
+
51
+ Workbooks.Add
52
+
53
+ TargetBook = ActiveWorkbook.name
54
+
55
+ TargetSheet = ActiveSheet.name
56
+
57
+
58
+
59
+
60
+
61
+ Workbooks(ReturnBook).Worksheets(ReturnSheet).Range("A1:AB41").Copy
62
+
63
+ Workbooks(TargetBook).Worksheets(TargetSheet).Range("A1").PasteSpecial Paste:=xlPasteValues
64
+
65
+ Workbooks(TargetBook).Worksheets(TargetSheet).Range("A1").PasteSpecial Paste:=xlPasteFormats
66
+
67
+
68
+
69
+ Application.DisplayAlerts = False
70
+
71
+
72
+
73
+ Workbooks(ReturnBook).Worksheets(ReturnSheet).Rows("41").Copy
74
+
75
+ Workbooks(TargetBook).Worksheets(TargetSheet).Rows("41").PasteSpecial Paste:=xlPasteFormulas
76
+
77
+
78
+
79
+ Workbooks(ReturnBook).Worksheets(ReturnSheet).Range("O2").Copy
80
+
81
+ Workbooks(TargetBook).Worksheets(TargetSheet).Range("O2").PasteSpecial Paste:=xlPasteFormulas
82
+
83
+
84
+
85
+
86
+
87
+ Call 保存
88
+
89
+
90
+
91
+ End Sub
92
+
93
+
94
+
95
+ Private Sub 保存()
96
+
97
+
98
+
99
+ Dim fname As String
100
+
101
+ Dim tuki As String
102
+
103
+ Dim name As String
104
+
105
+ Dim Mnumber As String
22
106
 
23
107
 
24
108
 
25
109
 
26
110
 
111
+ ActiveSheet.Range("A1").Value = Format(Range("A1"))
112
+
113
+ tuki = Format(Range("$A$6"), "m")
114
+
27
- 追記1
115
+ name = Format(Range("$F$1"))
116
+
117
+ Mnumber = Format(Range("$D$1"))
28
118
 
29
119
 
30
120
 
121
+
122
+
123
+ fname = Application.GetSaveAsFilename( _
124
+
125
+ InitialFileName:=Mnumber + name + "勤務表_" + tuki + "月", _
126
+
31
- 複数人の方からご指摘や回答をいただきまして、考えなおすとともに、前提条件がそもそもどこにあるのか(あったのか)
127
+ FileFilter:="Excelファイル, *.xlsx", _
128
+
129
+ Title:="勤務表ファイルの保存")
130
+
131
+
132
+
133
+ If fname <> "False" Then
134
+
135
+ ActiveWorkbook.SaveAs Filename:=fname
136
+
137
+ Else
138
+
139
+ MsgBox "キャンセルされました"
32
140
 
33
141
 
34
142
 
35
- 今は確かにVBAに慣れようという時間です。そして、そういった名目ではありますが、必ずしもVBAを使わねばならないという
143
+ End If
36
144
 
37
- 縛りがあるわけではありません。
145
+
38
146
 
39
147
 
40
148
 
41
- したがって、本日もう一度数式や書式の設定の方法も含めトライします。(画像では表示されていませんが、ほぼ全てのセルにプルダウンとフィルターが採用されています)
149
+ End Sub

2

追記1 複数人の方からご指摘や回答をいただきまして、考えなおすとともに、前提条件がそもそもどこにあるのか\(あったのか\) 今は確かにVBAに慣れようという時間です。そして、そういった名目ではあります

2015/12/21 05:35

投稿

YSzk
YSzk

スコア8

test CHANGED
File without changes
test CHANGED
@@ -19,3 +19,23 @@
19
19
 
20
20
 
21
21
  提案をいただければ幸いです。よろしくお願いいたします。
22
+
23
+
24
+
25
+
26
+
27
+ 追記1
28
+
29
+
30
+
31
+ 複数人の方からご指摘や回答をいただきまして、考えなおすとともに、前提条件がそもそもどこにあるのか(あったのか)
32
+
33
+
34
+
35
+ 今は確かにVBAに慣れようという時間です。そして、そういった名目ではありますが、必ずしもVBAを使わねばならないという
36
+
37
+ 縛りがあるわけではありません。
38
+
39
+
40
+
41
+ したがって、本日もう一度数式や書式の設定の方法も含めトライします。(画像では表示されていませんが、ほぼ全てのセルにプルダウンとフィルターが採用されています)

1

ご指摘いただきありがとうございました。

2015/12/18 02:14

投稿

YSzk
YSzk

スコア8

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- [イメージ説明](6bee3566021f9bb724f9e4c87a3a5a89.png)
9
+ [イメージ説明](https://teratail.com/uploads/contributed_images/6bee3566021f9bb724f9e4c87a3a5a89.png)
10
10
 
11
11
 
12
12
 
@@ -18,4 +18,4 @@
18
18
 
19
19
 
20
20
 
21
- 提案をいただければ幸いです。よろしくお願いいたします。
21
+ 提案をいただければ幸いです。よろしくお願いいたします。