現在excelで従業員の個人名簿を作成しています。
取り急ぎVBAでやりたいことは
(1)新入社員の個人票の追加
(2)在職中の従業員の個人票の内容の変更
(3)退職者の個人票を別シートにまとめる
(4)個人票のあるシートから任意の個人票を複数選んでPDFとして保存する。
現在の状況はシート1に個人票が約50人分あります。一人につき46行(1ページ)使用しています。
VBAは初心者なのですが長く勉強する時間が取れず困っています。
プログラム自体は調べれば何とかなると思うのですが、どういう構造で作ればいいのか思いつきません。
どなたか作成の上でのヒントのようなものをいただけないでしょうか?
よろしくお願いします。
No.4ベストアンサー
- 回答日時:
> プログラム自体は調べれば何とかなると思う
とのことですが・・・
> どういう構造で作ればいいのか思いつきません
のなら、おそらく「何ともならない」です。
「何を調べたらいいか?」すらわからないから、こんな質問が出るわけですよね?
それなら、わかる範囲の関数だけで「もどき」を構築してやる方が速くて正確です。
例えば、
社員番号 氏名 入社年月日 所属 ・・・
001 何野 誰兵衛 2013/8/29 総務部
(以下略)
という社員一覧表を作成、
表示・印刷用のシートに例の「46行」のシートを作成し、
必要項目(セル)に「社員番号でVLOOKUPするように」作ってやれば済みます。
※添付図参照
あるいは、「マスターに出来る白紙のシート」を作成、入力すべきセルのロックを解除。
その上でシートの保護をかけておけば項目をズラされることもありません。
Tabキーで「ロックがかかっていないセルだけ移動」も出来ますので、
運用においてはほとんど問題は出ないでしょう。
これを社員分用意し、その入力項目だけに入力してやる方が早いです。
ちなみに、
> 作成の上でのヒントのようなものをいただけないでしょうか?
ここにピンポイントで回答をするなら
「データベースと言うものについて調べましょう」
です。
No.3
- 回答日時:
私だったら・・・
一人一行でデータを作ります。
ユーザフォームを使って各操作をします。
大きく分けて社員名が並んでいるエリアと個人票データが表示されるエリアとします。
(1)【新規】ボタンをクリックすると新規データを入力。
(2)修正したい人をダブルクリック等で選択するとその人のデータが個人票エリアに取り込まれて、それを修正する。
(3)(2)操作において退職日が入力されたらデータを退職者シートへ移動
(4)保存したい人を選んで【保存】ボタンを押したら、保存用レイアウトシートに移記してそのシートをPDF保存。
というような感じにすると思います。
No.2
- 回答日時:
高々50人程度の話なら適当でいいんじゃないのかなあ。
1人につき46行のデータって,それなりに多いよね。これが横に長くてもいいから1行で済む程度なら1人1行にするんだけどね。データが多そうなら1人1シートにして同じ項目は同じセルになるようにしておけば処理も簡単。
印刷とかは,それこそVBAを使って印刷シートにコピーしてきれいな書式にしてやればよい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- Visual Basic(VBA) VBAマクロ 決まっていない行を選択して別シートへ貼付け 4 2023/02/16 16:08
- その他(ビジネス・キャリア) スーパー銭湯における従業員のマスク着用緩和に伴う対応について 3 2023/02/25 22:01
- Excel(エクセル) Excelで漢字人名が勝手に並び変わる(続) 4 2023/03/21 21:28
- 不動産業・賃貸業 不動産業の事務職について 3 2022/11/27 01:06
- 会計ソフト・業務用ソフト 事業内容に適した、見積・請求書・顧客管理ソフト、システムを探しています。 2 2022/11/11 13:28
- 個人事業主・自営業・フリーランス 白色専従者の者です。 友人と共に別でビジネスを始めたいと思っているのですが個人事業主として開設をして 3 2023/07/04 20:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで入力シートから別シ...
-
ピボットテーブルから抽出デー...
-
ExcelVBAで、指定したシートに...
-
エクセルで入力→日付を自動判別...
-
VBAでシート名をセルから取得し...
-
Excelの中央値の複数条件について
-
エクセルファイルを軽くする方法
-
IF, ISNUMBER, INDIRECTの組み...
-
VBA セルの値と同じ名前のシー...
-
Excel 複数のシートからグラフ...
-
【エクセルVBA】処理速度を...
-
VBAのoffsetの動き方について教...
-
エクセル シフト勤務表から、...
-
Excelの選択肢をポップアップリ...
-
【Excel】VLOOKUP関数で複数の...
-
複数のシートからデータを抽出...
-
Excel:グラフの元データをグル...
-
テキストボックス内の文字のふ...
-
Excelで数値→文字列変換で指数...
-
Excelで行ごとコピー、同じ行を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで入力シートから別シ...
-
VBA セルの値と同じ名前のシー...
-
Excel 複数のシートからグラフ...
-
ExcelVBAで、指定したシートに...
-
Excelの中央値の複数条件について
-
Excel ハイパーリンク先のセル...
-
IF, ISNUMBER, INDIRECTの組み...
-
エクセルのワークシートが重く...
-
VBAでシート名をセルから取得し...
-
エクセルで入力→日付を自動判別...
-
質問:特定文字列から空白行ま...
-
エクセル自動の年月
-
エクセル シフト勤務表から、...
-
エクセル マクロを使って日々...
-
VBAのoffsetの動き方について教...
-
エクセルVBA:表の内容を担当者...
-
Excel日付変更との参照先の連動
-
EXCEL VBA 一致しないデータの...
-
エクセルについて質問です 日付...
-
Excelの選択肢をポップアップリ...
おすすめ情報