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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
Excel UserForm の表示位置
-
【VBA】【ユーザーフォーム_Lis...
-
【VBA】写真の貼り付けコードが...
-
複数指定セルの可視セルのみを...
-
特定の色のついたセルを削除
-
同じフォルダ内にある複数の閉...
-
【エクセルVBA】FindNextで検索...
-
【ExcelVBA】値を変更しながら...
-
ユーザフォームを使ってのデー...
-
VBA 検索結果の行を取得。上か...
-
Excelで空白セル直前のセルデー...
-
CellEnterイベント仕様について
-
【Excel VBA】一番右端セルまで...
-
VB6で、表示させた時間をExcel...
-
VB2005 DataGridView で選択...
-
オートフィルタの結果をコピー...
-
C# DataGridViewで複数選択した...
-
データのある範囲を選択するVBA...
-
vbaマクロ 実行時エラー '91'...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
エクセルVBA 配列からセルに「...
-
Excel UserForm の表示位置
-
Excelで空白セル直前のセルデー...
-
【Excel VBA】一番右端セルまで...
-
【VBA】【ユーザーフォーム_Lis...
-
Excel 範囲指定スクショについ...
-
Excel VBAでCheckboxの名前を変...
-
特定の色のついたセルを削除
-
【ExcelVBA】値を変更しながら...
-
エクセルのカーソルを非表示に...
-
VBA:日付を配列に入れ別セルに...
-
EXCEL VBA 文中の書式ごと複写...
-
入力規則のリスト選択
-
DataGridViewでグリッド内に線...
-
Excel VBA IF文がうまく動作し...
-
関数の引数でrangeを指定したとき
-
C# DataGridViewで複数選択した...
-
Excel VBAで特定の範囲の空白セ...
-
下記のマクロの説明(意味)を...
おすすめ情報