質問編集履歴

7

質問内容を初期化

2021/09/29 14:18

投稿

milk1218
milk1218

スコア20

test CHANGED
@@ -1 +1 @@
1
- 【※急募】リストボックスでセル値を取得からの更新(VBA)
1
+ リストボックスでシート複数選択と時間表記
test CHANGED
@@ -6,33 +6,17 @@
6
6
 
7
7
 
8
8
 
9
- リストボックスで例えば10/3を選んだら、4列目の11:00と19:00を
9
+
10
-
11
- 修正出来るようにしたいのですが、10/1の時刻のところに上書きされてしまいました。
10
+
12
-
13
-
14
-
15
- 特にVBAに明るくない上司から急かれながら色んなものを参考にしながら進めていますが、なかなか上手くいきません・・。
16
-
17
-
18
-
19
- リストボックス用の変数の宣言が必要なのでしょう
11
+ ・一つのリストボックスで複数のシートを選択するのは可能なのか
20
-
21
- 行の位置特定に何が必要でしょうか?
12
+
22
-
23
-
24
-
25
- ご教授お願い致します。
26
-
27
-
28
-
29
- **若しくは、リストボックスを使わいやり方もあれば教えいただけると大変助かりす・・**。
13
+ ・編集フォームのテキストボックスで時間が小数点表記に
30
-
31
-
32
-
33
-
34
-
14
+
15
+
16
+
35
- ![イメージ説明](8aba26a87bbf9f09be2d91a51f2e30de.png)
17
+ 以上の二点が問題点、疑問点として挙がっています。
18
+
19
+
36
20
 
37
21
  ### 発生している問題・エラーメッセージ
38
22
 
@@ -42,7 +26,7 @@
42
26
 
43
27
 
44
28
 
45
- ・選択した日付の出勤・退勤時間を取得して変更出来るようにしたい
29
+
46
30
 
47
31
 
48
32
 
@@ -268,7 +252,7 @@
268
252
 
269
253
  Dim tgtRow As Long
270
254
 
271
- tgtRow =                         '行選択
255
+ tgtRow =                         
272
256
 
273
257
  With Sheet2
274
258
 
@@ -288,7 +272,7 @@
288
272
 
289
273
  Dim tgtRow As Long
290
274
 
291
- tgtRow =    '行選択、選択した行が対象になるようにしたい
275
+ tgtRow =   
292
276
 
293
277
  With Sheet2
294
278
 
@@ -306,21 +290,7 @@
306
290
 
307
291
 
308
292
 
309
- tgtRow = Listbox1.Value   
310
-
311
- ※変数を定義してくださいのエラー
312
-
313
-
314
-
315
-
316
-
317
- tgtRow = 編集画面フォーム.ListBox1.ListIndex + 2  
318
-
319
- ※「出勤時刻」と「退勤時刻」というラベルを取得
320
-
321
- 以降、+3にすると10/1のものが、+4で10/2のものが取得という状態になり
322
-
323
- 選択した部分の変更にならない
293
+ DATE型を使用
324
294
 
325
295
 
326
296
 
@@ -328,20 +298,6 @@
328
298
 
329
299
 
330
300
 
331
- Dim tgtRow As Long
301
+
332
-
333
- tgtRow =    '行選択、選択した行が対象になるようにしたい
302
+
334
-
335
- With Sheet2
336
-
337
- Me.tx2.Value = .Cells(tgtRow, 2).Value         '出勤時間
338
-
339
- Me.tx3.Value = .Cells(tgtRow, 3).Value           '退勤時間
340
-
341
- End With
342
-
343
-
344
-
345
- 取得した行を修正す処理を、 UserForm_Initialize置けば良いのか
303
+ シートの「出勤時間」「退勤時間」のセルは「10:00」のよな時間表記になよう設定
346
-
347
- 修正ボタンクリック時に置けばいいのかわからないので、今は二か所に置いています・・・。

6

文章の追加

2021/09/29 14:18

投稿

milk1218
milk1218

スコア20

test CHANGED
@@ -1 +1 @@
1
- リストボックスでセルの値を取得からの更新(VBA)
1
+ 【※急募】リストボックスでセルの値を取得からの更新(VBA)
test CHANGED
@@ -26,6 +26,12 @@
26
26
 
27
27
 
28
28
 
29
+ **若しくは、リストボックスを使わないやり方もあれば教えていただけると大変助かります・・**。
30
+
31
+
32
+
33
+
34
+
29
35
  ![イメージ説明](8aba26a87bbf9f09be2d91a51f2e30de.png)
30
36
 
31
37
  ### 発生している問題・エラーメッセージ

5

情報追加

2021/09/29 14:06

投稿

milk1218
milk1218

スコア20

test CHANGED
@@ -1 +1 @@
1
- リストボックスでの選択と対象シートが複数ある場合(VBA)
1
+ リストボックスでセル値を取得から更新(VBA)
test CHANGED
@@ -6,19 +6,27 @@
6
6
 
7
7
 
8
8
 
9
- リストボックスにそれぞれシートに登録されている年月日・時刻表示させたいのですが
9
+ リストボックスで例えば10/3を選んだら、4列目11:00と19:00
10
-
11
- 一つのリストボックスに複数のシートのリストを表記させることは可能なのでしょうか?
10
+
12
-
13
- た、10/3を選んだら10/1の時刻のところに上書きされてしまいました。
11
+ 修正出来るようにしいのですが、10/1の時刻のところに上書きされてしまいました。
14
-
15
-
16
-
17
-
18
-
12
+
13
+
14
+
19
- ![イメージ説](f9d8cf700646549c7b43f20424ee042f.png)
15
+ 特にVBAにるくない上司から急かれながら色んなものを参考にしながら進めていますが、なかなか上手くいきません・・。
16
+
17
+
18
+
20
-
19
+ リストボックス用の変数の宣言が必要なのでしょうか?
20
+
21
+ 行の位置特定に何が必要でしょうか?
22
+
23
+
24
+
25
+ ご教授お願い致します。
26
+
27
+
28
+
21
- ![イメージ説明](9ef9a71a4192124315606a1e8c2c74e8.png)
29
+ ![イメージ説明](8aba26a87bbf9f09be2d91a51f2e30de.png)
22
30
 
23
31
  ### 発生している問題・エラーメッセージ
24
32
 
@@ -28,9 +36,7 @@
28
36
 
29
37
 
30
38
 
31
- ・リストに表記する対象シートを複数選択したい
32
-
33
- 一番上10/1の刻の部分上書きされてまう
39
+ 選択した日付出勤・退勤間を取得して変更出来るようにしたい
34
40
 
35
41
 
36
42
 
@@ -236,7 +242,7 @@
236
242
 
237
243
  Dim lastrow As Long
238
244
 
239
- Sheets("10", "11", "12").Select        '←シート三枚を選んでそのセルをリストに表示させたい
245
+ Sheets("10", "11", "12").Select        
240
246
 
241
247
  With ListBox1
242
248
 
@@ -246,7 +252,7 @@
246
252
 
247
253
  .ColumnWidths = "70;50;50"
248
254
 
249
- .RowSource = "10!" & Range("A2", "E2" & lastrow).Address   '←ここでも、11と12を選びたい
255
+ .RowSource = "10!" & Range("A2", "E2" & lastrow).Address   
250
256
 
251
257
  End With
252
258
 
@@ -256,13 +262,13 @@
256
262
 
257
263
  Dim tgtRow As Long
258
264
 
259
- tgtRow = 2
265
+ tgtRow =                         '行選択
260
266
 
261
267
  With Sheet2
262
268
 
263
- .Cells(tgtRow, 2).Value = Me.tx2.Value
269
+ .Cells(tgtRow, 2).Value = Me.tx2.Value      '出勤時間
264
-
270
+
265
- .Cells(tgtRow, 3).Value = Me.tx3.Value
271
+ .Cells(tgtRow, 3).Value = Me.tx3.Value     '退勤時間
266
272
 
267
273
  End With
268
274
 
@@ -276,13 +282,13 @@
276
282
 
277
283
  Dim tgtRow As Long
278
284
 
279
- tgtRow = 2 'ここで行選択、選択した行が対象になるようにしたい
285
+ tgtRow =    '行選択、選択した行が対象になるようにしたい
280
286
 
281
287
  With Sheet2
282
288
 
283
- Me.tx2.Value = .Cells(tgtRow, 2).Value
289
+ Me.tx2.Value = .Cells(tgtRow, 2).Value         '出勤時間
284
-
290
+
285
- Me.tx3.Value = .Cells(tgtRow, 3).Value
291
+ Me.tx3.Value = .Cells(tgtRow, 3).Value           '退勤時間
286
292
 
287
293
  End With
288
294
 
@@ -294,18 +300,42 @@
294
300
 
295
301
 
296
302
 
303
+ tgtRow = Listbox1.Value   
304
+
305
+ ※変数を定義してくださいのエラー
306
+
307
+
308
+
309
+
310
+
311
+ tgtRow = 編集画面フォーム.ListBox1.ListIndex + 2  
312
+
313
+ ※「出勤時刻」と「退勤時刻」というラベルを取得
314
+
315
+ 以降、+3にすると10/1のものが、+4で10/2のものが取得という状態になり
316
+
317
+ 選択した部分の変更にならない。
318
+
297
319
 
298
320
 
299
321
  ### 補足情報(FW/ツールのバージョンなど)
300
322
 
301
323
 
302
324
 
303
-
325
+ Dim tgtRow As Long
326
+
304
-
327
+ tgtRow =    '行選択、選択した行が対象になるようにしたい
328
+
329
+ With Sheet2
330
+
305
- ・「10」、「11」、「12」と日付登録する月のシートが三枚ある
331
+ Me.tx2.Value = .Cells(tgtRow, 2).Value         '出勤時間
306
-
307
-
308
-
309
-
310
-
332
+
311
- ・日付が小数点表記になり、「10:00」⇒「12:00」などの変更が出来ない(※こちらはおかげさまで解決致しました!!)
333
+ Me.tx3.Value = .Cells(tgtRow, 3).Value           '退勤時間
334
+
335
+ End With
336
+
337
+
338
+
339
+ という取得した行を修正する処理を、 UserForm_Initializeに置けば良いのか
340
+
341
+ 修正ボタンクリック時に置けばいいのかわからないので、今は二か所に置いています・・・。

4

補足

2021/09/29 12:26

投稿

milk1218
milk1218

スコア20

test CHANGED
@@ -1 +1 @@
1
- リストボックスでの選択と対象のシートが複数ある場合
1
+ リストボックスでの選択と対象のシートが複数ある場合(VBA)
test CHANGED
@@ -276,7 +276,7 @@
276
276
 
277
277
  Dim tgtRow As Long
278
278
 
279
- tgtRow = 2
279
+ tgtRow = 2 'ここで行選択、選択した行が対象になるようにしたい
280
280
 
281
281
  With Sheet2
282
282
 

3

文章の改変

2021/09/29 05:12

投稿

milk1218
milk1218

スコア20

test CHANGED
@@ -1 +1 @@
1
- リストボックスで対象のシートが複数ある場合
1
+ リストボックスでの選択と対象のシートが複数ある場合
test CHANGED
@@ -10,6 +10,8 @@
10
10
 
11
11
  一つのリストボックスに複数のシートのリストを表記させることは可能なのでしょうか?
12
12
 
13
+ また、10/3を選んだら10/1の時刻のところに上書きされてしまいました。
14
+
13
15
 
14
16
 
15
17
 
@@ -28,6 +30,8 @@
28
30
 
29
31
  ・リストに表記する対象シートを複数選択したい
30
32
 
33
+ ・一番上の10/1の時刻の部分に上書きされてしまう
34
+
31
35
 
32
36
 
33
37
  ```

2

一点解決したので文章改変

2021/09/29 02:14

投稿

milk1218
milk1218

スコア20

test CHANGED
@@ -1 +1 @@
1
- リストボックスで数値修正&対象のシートが複数ある場合
1
+ リストボックスで対象のシートが複数ある場合
test CHANGED
@@ -6,27 +6,17 @@
6
6
 
7
7
 
8
8
 
9
- リストで日付を選択し、その日の出勤時間と退勤時間で修正があれば数値を書き換えてセルの値を上書きしたいと考えています。
10
-
11
- ただ、画像のように時間の表記が「10:00」のように文字ではないものを書き換える場合
12
-
13
- どのように書けば良いのかが分かりません。
14
-
15
- やってみたところ、リストボックスを開いた後の修正画面の際に小数点の数字が表示されてしまします・・・。
16
-
17
-
18
-
19
- (※試しに出勤・退勤時間のところを「りんご」とかの文字列にしてリストボックスを開いて
20
-
21
- テキストボックスで「みかん」と入力し修正ボタン押したところ、セルは上書きれまし)
9
+ ストボックスにそれぞれのシートに登録されいる年月日・時刻表示いのですが
10
+
11
+ 一つのリストボックスに複数のシートのリストを表記させることは可能なのでしょうか?
12
+
13
+
22
14
 
23
15
 
24
16
 
25
17
  ![イメージ説明](f9d8cf700646549c7b43f20424ee042f.png)
26
18
 
27
- ![イメージ説明](ef96e66e8b027a50b0b2ad23ab0f5402.png)
19
+ ![イメージ説明](9ef9a71a4192124315606a1e8c2c74e8.png)
28
-
29
-
30
20
 
31
21
  ### 発生している問題・エラーメッセージ
32
22
 
@@ -34,7 +24,7 @@
34
24
 
35
25
  ```
36
26
 
37
- ・日付が小数点表記になり、「10:00」⇒「12:00」などの変更が出来ない
27
+
38
28
 
39
29
  ・リストに表記する対象シートを複数選択したい
40
30
 
@@ -300,16 +290,18 @@
300
290
 
301
291
 
302
292
 
303
- 試しに、セルを上書きする修正ボタンの変数のデータ型をDATEやIntegerにして
304
-
305
- みましたが変わりませんでした。
306
-
307
293
 
308
294
 
309
295
  ### 補足情報(FW/ツールのバージョンなど)
310
296
 
311
297
 
312
298
 
313
- ・時間表記のセルのところはシート上で、表示形式は「時刻」にしてある
299
+
314
300
 
315
301
  ・「10」、「11」、「12」と日付登録する月のシートが三枚ある
302
+
303
+
304
+
305
+
306
+
307
+ ・日付が小数点表記になり、「10:00」⇒「12:00」などの変更が出来ない(※こちらはおかげさまで解決致しました!!)

1

文章の漏れを補足

2021/09/29 02:11

投稿

milk1218
milk1218

スコア20

test CHANGED
File without changes
test CHANGED
@@ -34,7 +34,11 @@
34
34
 
35
35
  ```
36
36
 
37
- 日付が小数点表記になり、「10:00」⇒「12:00」などの変更が出来ない
37
+ 日付が小数点表記になり、「10:00」⇒「12:00」などの変更が出来ない
38
+
39
+ ・リストに表記する対象シートを複数選択したい
40
+
41
+
38
42
 
39
43
  ```
40
44
 
@@ -307,3 +311,5 @@
307
311
 
308
312
 
309
313
  ・時間表記のセルのところはシート上で、表示形式は「時刻」にしてある
314
+
315
+ ・「10」、「11」、「12」と日付登録する月のシートが三枚ある