- ベストアンサー
エクセルVBAの質問です
エクセル2000で勤務表を作成しています 2009年7月というシートに2つの表があり、「表1」はC列に10名の氏名があり 各行の(F~AJ)には6月21日~7月20日までの毎日の出退勤(○、休、半等) を記入します。 「表2」は「表1」を暦月に変換するため7月1日~7月31日(F~AJ)となっていて、 表1を作成するとC列の氏名及び7月1日~7月20日(Q~AJ)までの出退勤も(F~Y)へ 同時に入力されるようにしてあります。 さて、新規シート2009年8月を作り「表1」に氏名(入退社で増減等の変更が あります)と1ヶ月分の出退勤を入力後、以下のことをVBAで行いたいと思います。 ボタンにより、2009年7月シートの「表2」と氏名がマッチする行に「表1」の7月21日~7月31日(F~P) の出退勤のみを「表2」の(Z~AJ)にコピーするようにしたいのですが可能でしょうか。 皆様のお力添えをお願いできればと存じます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
この質問も課題丸投げで、コードを書いてください的な感じ。 規約違反。 質問文には具体的な(シートの)表の例があげてなくて、わかりづらいし、もし親切な回答者がいて、コードを書くとなれば、色んな事項をみな回答者が仮定で決めなければならない。手数がかかる。質問者は、回答者に手数がかからないように配慮すること。ひいては回答が質問者にとって判りやすく、具体的になり、修正もしやすいはず。 ーーー 表1と表2のデータを結びつけるのは、氏名しかないのかな。そして同姓同名の職員が居ないとして、表1の氏名で表2の氏名列を検索する。 1つしか見つからないはずなので、(セル範囲).Find(What:=氏名) で表2の見つかった行を知り、その行に、表1の当職員のデータをセットしていけばよい。 退職社員で表2に見つからない場合は何もしない。 ーー まず編集ー検索の操作をして、マクロの記録をとり、およそどういうコードになるかを勉強すること。 ーー 参考コード 表1の1行分の例(本当は全行繰り返し。ForNextなどで出来る) Sub test01() simei = "田中" '本当は表1の氏名列、全員の名で繰り返す Set f = Range("A1:A10").Find(what:=simei) 'Range("A1:A10").は本当は表2の氏名列のセル範囲 If f Is Nothing Then MsgBox "見つかりません" Else MsgBox f.Row '確認し安心用 r = f.Row For j = 2 To 4 'B-D列までの例 Cells(r, j) = j '本当は表1の該当氏名列データを持ってくるよう変える Next j End If End Sub
その他の回答 (1)
- 有田 賢治(@ARIKEN43)
- ベストアンサー率50% (563/1116)
ika907さん 今日は! >ボタンにより、2009年7月シートの「表2」と氏名がマッチする行に >「表1」の7月21日~7月31日(F~P)の出退勤のみを「表2」の(Z~>AJ)にコピーするようにしたいのですが可能でしょうか。 マクロとはプログラムの作成です。初めてプログラムを組むのでしたら 其れなりの勉強が必要です。 先ず簡単なコードなり、ソースが公開されているプログラムを参考にして手法を身に付けるべきです。 ■Excel(エクセル)実用編:時給計算書の作成例(Excel2002/2003)↓ http://www.eurus.dti.ne.jp/~yoneyama/Excel/jituyou/jikyu.htm 内容:このページではエクセルで求めた時間から時給を計算する方法を説明しています。 時刻/時間の基本的な計算方法は→時刻の計算 基本的な、勤務時間の計算例は→勤務時間の計算例 サンプルファイル(jikyu-01.zip 約20KB)のダウンロードするとコードや関数の使用法が理解できます。 ■エクセルの勉強部屋(Excel2000/2002)↓ http://kiyopon.sakura.ne.jp/index.shtml 内容:エクセルの操作に関する図解説明 ワークシート関数の説明 エクセルの便利な使い方の説明 エクセルの操作とマクロに関する自習問題と解説 マクロの作成方法を解説、例題も パワーポイントによる操作説明とエクセルでの操作実習 エクセルでのみなさんの質問を寄せてください で「マクロの作成方法を解説、例題も」をクリックしますと、マクロの基本が解説されています。 また画面上部のソフトをクリックすると、色々と機能を使ったサンプルソフトをダウンロード出来ます。 ■Excel(エクセル)学習室(Excel2003)↓ http://www.kenzo30.com/ 内容:作品紹介をクリックして実用ソフトがダウンロード出来ます。 ■Excelの研究室↓ http://www12.plala.or.jp/nombo/index.html 内容:エクセル(Microsoft Excel)の関数・操作・VBA(マクロ)などの基本的な使い方、応用テクニックなどをわかりやすく紹介するサイトです。VBA(マクロ)をクリックするとVBAのヒント集が表示されます。 上部の関連ソフトを選ぶと一覧表が表示されます。 ■Excelでお仕事!(Excel全般)↓ http://www.asahi-net.or.jp/~ef2o-inue/top01.html 内容:全体のメニューよりVBA基本・VBA応用とダウンロードをクリックします。 この様に色々と見てVBAテクニックを身に付けましょう。 聞けば簡単ですが技は身に付きません。
お礼
ARIKENさん、今日は。 エクセルに関するサイトは、それなりに観たつもりでしたが ご教示いただいたサイトはまだでした。 親身にご回答いただき感謝申し上げます。 VBAの基本がどうしても理解できず 半年以上悩んで意を決してここで質問してみました。 あきらめかけておりましたが、是非参考にしてもう一度トライ してみようと思います。 質問の出し方も気を付けます。
お礼
imogasiさん今日は。 規則違反とのご指摘猛省致します。今後気を付けます。 VBAは、ネットを色々検索し、書籍も購入致しましたが、 似たような例はあっても諸条件を組み合わせると思いどおり 記述できず、デバックも修正できません。 こんな輩に違反とおっしゃりつつ参考コードまで提示いただき 感謝しております。 ありがとうございました。 参考コードが無駄にならないよう再度勉強します。