
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 = 備考

No.2ベストアンサー
- 回答日時:
こんばんは。
Excel/VBA:構造体(Type)を使ってデータ処理を便利にする
”Excelの表を構造体に格納すると便利”が、参考になりそうですが、如何でしょうか?
http://pineplanter.moo.jp/non-it-salaryman/2017/ …
セルに入っている値を、構造体へ格納。
構造体に入っているデータを、ユーザーフォーム上で表示。
更新ボタンを押すと、ユーザーフォーム上で表示されているデータを、一旦
構造体に入れて、その後、セルへ書き出し とかになるでしょうか?
ありがとうございます・・!
仰る通りやりたこととしては「セルに入っている値を、構造体へ格納。
構造体に入っているデータを、ユーザーフォーム上で表示。
更新ボタンを押すと、ユーザーフォーム上で表示されているデータを、一旦
構造体に入れて、その後、セルへ書き出し」になります・・!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel UserForm の表示位置
-
VBAマクロ実行時エラーの修正に...
-
セルの半透明着色処理
-
エクセルVBA 配列からセルに「...
-
【VBA】【ユーザーフォーム_Lis...
-
【VBA】写真の貼り付けコードが...
-
VBA 特定のセルからoffsetされ...
-
【Excel VBA】一番右端セルまで...
-
データグリッドビューの結合セ...
-
CSVファイルを読み込んだらセル...
-
C# DataGridViewで複数選択した...
-
エクセル、マクロで番号を読込...
-
[C#]DataGridViewのVirtual Mod...
-
Excel VBA IF文がうまく動作し...
-
DataGridViewでグリッド内に線...
-
VBA 検索結果の行を取得。上か...
-
Excelで空白セル直前のセルデー...
-
Excel VBAでCheckboxの名前を変...
-
エクセルのカーソルを非表示に...
-
構造体を使用したデータの読み書き
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel UserForm の表示位置
-
VBAマクロ実行時エラーの修正に...
-
特定の色のついたセルを削除
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
【VBA】【ユーザーフォーム_Lis...
-
【VBA】写真の貼り付けコードが...
-
データグリッドビューの結合セ...
-
複数指定セルの可視セルのみを...
-
エクセル、マクロで番号を読込...
-
CellEnterイベント仕様について
-
C# DataGridViewで複数選択した...
-
【ExcelVBA】値を変更しながら...
-
EXCEL VBA 文中の書式ごと複写...
-
マクロ初心者です。 マクロで範...
-
【Excel VBA】一番右端セルまで...
-
【Excel VBA】マクロで書き込ん...
-
VBA:日付を配列に入れ別セルに...
-
DataGridViewでグリッド内に線...
-
DataGridViewのフォーカス遷移...
おすすめ情報