
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) Excel VBA でデータ転記について 1 2023/03/07 19:11
- Visual Basic(VBA) VBAで時間(00:00形式)を積算(足し算)したい 1 2022/11/15 17:04
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- Access(アクセス) ExcelのVBAコードについて教えてください。 4 2023/01/20 09:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
Excel UserForm の表示位置
-
C# DataGridViewで複数選択した...
-
特定の色のついたセルを削除
-
【VBA】【ユーザーフォーム_Lis...
-
エクセルVBA 配列からセルに「...
-
DataGridViewのフォーカス遷移...
-
セルの半透明着色処理
-
複数指定セルの可視セルのみを...
-
【Excel VBA】マクロで書き込ん...
-
Excel VBA IF文がうまく動作し...
-
【ExcelVBA】値を変更しながら...
-
Excelで空白セル直前のセルデー...
-
VBA:日付を配列に入れ別セルに...
-
Excel 範囲指定スクショについ...
-
エクセルのカーソルを非表示に...
-
入力規則のリスト選択
-
CellEnterイベント仕様について
-
DataGridViewでグリッド内に線...
-
【VBA】写真の貼り付けコードが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
特定の色のついたセルを削除
-
Excelで空白セル直前のセルデー...
-
Excel UserForm の表示位置
-
エクセルVBA 配列からセルに「...
-
VBA:日付を配列に入れ別セルに...
-
エクセル、マクロで番号を読込...
-
【Excel VBA】一番右端セルまで...
-
【VBA】写真の貼り付けコードが...
-
【ExcelVBA】値を変更しながら...
-
【VBA】【ユーザーフォーム_Lis...
-
DataGridViewのフォーカス遷移...
-
EXCEL VBA 文中の書式ごと複写...
-
データグリッドビューの結合セ...
-
複数指定セルの可視セルのみを...
-
QRコード作成マクロについて
-
C# DataGridViewで複数選択した...
-
Excel 範囲指定スクショについ...
-
エクセル VBA ボタンをクリック...
-
DataGridViewでグリッド内に線...
おすすめ情報