教えて! goo のコンテンツに対する取り組みについて

ExcelのVBAで勤怠登録システムを作っています。
これまでに、ユーザーフォームからセルへ、セルに入った値をユーザーフォームへ表示して値を上書きなどの、ユーザーフォームとシート間でやり取りするものは作りましたが、今回構造体を介して作らなければならなくなりました。

構造体の役割や配列との違いはなんとなく解るのですが、タイトルにあるように勤怠保存する(ユーザーフォームのテキストボックスへ入力された値がセルへ、セルに入っている値がユーザーフォームのテキストボックスに表示)コードの書き方がいまいち分かりません・・。

構造体の中身としては以下のattendanceとなります。これが一日分の勤怠記録(データ)で一塊として扱います。
更新ボタンを押すとテキストボックスに入力された時間(備考もあれば)が、その日付のセルに入るように作ろうとしています。10月4日なら10のシートの4日のところへ。
※プルダウンで月選択した際に該当のシートはselectされるようになっています。

上手く説明出来なくてすみません・・・。

Type attendance
starttime As Date     '始業時刻
endtime As Date     '終業時刻
breakstart As Date    '休憩時間のはじめ
breakend As Date    '休憩時間のおわり
worktime As Single   '実働時間
note As Single      '備考
End Type

下記のように定義までしか分かりませんでした・・・。

Public monthly As attendance 'オブジェクトの定義

Public Sub AttendanceSave() '勤怠保存

For intDay = 1 To 31
' attendance.starttime =   

Next
End Sub



【補足】各テキストボックスの名前
txtStarttime1 = 始業時刻(1日月曜日の部分) 2,3,4,5・・・と31まであります。下記のものたちも同様です。
txtEndtime1 = 終業時刻
txtBreakstart1 = 休憩時間のはじめ
txtBreakend1 = 休憩時間の終わり
txtWorktime1 = 実働時間
txtNote1 = 備考

「構造体を使用したデータの読み書き」の質問画像
教えて!goo グレード

A 回答 (2件)

こんばんは。



Excel/VBA:構造体(Type)を使ってデータ処理を便利にする
”Excelの表を構造体に格納すると便利”が、参考になりそうですが、如何でしょうか?
http://pineplanter.moo.jp/non-it-salaryman/2017/ …

セルに入っている値を、構造体へ格納。
構造体に入っているデータを、ユーザーフォーム上で表示。
更新ボタンを押すと、ユーザーフォーム上で表示されているデータを、一旦
構造体に入れて、その後、セルへ書き出し とかになるでしょうか?
    • good
    • 1
この回答へのお礼

ありがとうございます・・!
仰る通りやりたこととしては「セルに入っている値を、構造体へ格納。
構造体に入っているデータを、ユーザーフォーム上で表示。
更新ボタンを押すと、ユーザーフォーム上で表示されているデータを、一旦
構造体に入れて、その後、セルへ書き出し」になります・・!

お礼日時:2021/10/14 14:32

構造体の役割は?


1日ですよね?

ならば、その構造体を配列化すれば?
31日分作る、と。
    • good
    • 1
この回答へのお礼

ありがとうございます・・!!

お礼日時:2021/10/14 10:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング