- 締切済み
エクセルで単純な入力を簡単にしたい
会社で、マクロがくまれたエクセルの様式に入力していく仕事があります。 コンスタントに毎日2時間、20件ほど入れるのですが、入力する箇所が多く、しかもあちこちに散らばっています。 そこで、別のエクセルに入力する箇所を(1)~(10)まで降った簡単な表をつくり、そこに入力すれば、ボタン一つでそちらに転記してくれる・・・ようなものがあればいいのですが、なにか使えるものはあるでしょうか。 おもいつくままに、 1 エクセルのマクロ、というのが使えるみたいですが、当方はそのスキルがありません。勉強するとしたら、どうしたらいいでしょうか。 2 入力を外注したいが、金がない 3 その他 何かいい方法をご存じでしたら、アドバイスをお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- watabe007
- ベストアンサー率62% (476/760)
>マクロがくまれたエクセルの様式 マクロによる入力箇所を Workbooks("マクロがくまれたエクセル.xlsm").Sheets("Sheet1")の A2・C2・B3・D4・・セルとしました。(10か所) Sub Test() Dim ws As Worksheet Dim strAdd As Variant, i As Long Set ws = Workbooks("マクロがくまれたエクセル.xlsm").Sheets("Sheet1") '転記先のセルのアドレスを順にA2・C2・B3・D4・・・・としています。 strAdd = Array("A2", "C2", "B3", "D4", "A5", "C5", "B6", "A8", "C9", "A10") With ThisWorkbook.Sheets("Sheet1") For i = 1 To 10 ws.Range(strAdd(i - 1)).Value = .Cells(i, "A").Value Next End With End Sub
- imogasi
- ベストアンサー率27% (4737/17069)
#2です。 すみません。誤入力がありました。 早退チェック(誤)ーー>(正)相対チェック。 2項目以上で、ある項目の内容が決まった時、関連した他の項目の取りうる値に 制約がある場合に、反したものを指摘する・訂正するチェック。 (例)成人向けのサービスなどの場合、年齢が20才未満に入力されている。 関連チェック。対立語は単体チェックなど。
- imogasi
- ベストアンサー率27% (4737/17069)
普通は入力する(最小限)の、入力セルだけを(入力に便利な順番=入力準拠の原書シートに項目レイアウトに合わすなど、にして)別シート(仮にシート名Sheet2のシート)に各項目を設計(配置)して、そこにデータ項目を入力し、シート2上に作った1つのボタンを押す(クリックする)と、元のシート(仮にシート名Sheet1)の正式なセルに転記(代入という)する。 こういうVBAプログラムは、これだけなら簡単です。 (1)(コマンド)ボタンをシート2に設けるやり方(方法)。 VBAでもできますが、普通は手動操作で、設けます。 (2)シート上のボタンを押したことを、イベントというが、それを捉える方法・考え方の理解。 (3)そして処理する作業を行うコードを書く 本件では、(2)の中に代入する項目数だけのシートセル間の代入文を記述する。 その画面の出し方は、 Sub ボタン1_Click() End Sub は、 Sheet2にボタンを挿入してクリックすると出てきます。 そこで下記のように実際の処理内容を書いて、仕上げます。 Sub ボタン1_Click() '他シートへセルデータ転記 Worksheets("Sheet1").Range("a3") = Worksheets("Sheet2").Range("A2") Worksheets("Sheet1").Range("C4") = Worksheets("Sheet2").Range("A3") Worksheets("Sheet1").Range("F7") = Worksheets("Sheet2").Range("A4") End Sub これは A3セル ← A2セル C4セル ← A3セル F7セル ← A4セル の対応関係を並べて記述して行くだけです。 後はVBAの背景知識や、実際には慣れが必要です。 プロは、代入だけでなく、Sheet2入力した後、ボタンをクリックしたとき、項目単体チェックや早退チェックを行い、疑わしいのは指摘します。この辺は経験が要りますので、後回し(先のこと)にすることになるでしょう。 ーー たまにしか入力が起こらない項目は、忘れずに、原則に戻り、Sheet1に入力する設計にすることになるでしょう。
- kkkkkm
- ベストアンサー率66% (1719/2589)
定型処理でしたら、その処理(転記処理)の操作をマクロの記録で記録し、次からはそのマクロを実行すれば 「入力する箇所を(1)~(10)まで降った簡単な表をつくり、そこに入力すれば、ボタン一つでそちらに転記してくれる」 この機能は実現できます。別のエクセルではなく別のシートの方が無難です。 ただし、マクロは実行すると手動で作業したときのように「元に戻す」という操作は使えませんので、大量に誤転記など間違うと大変なことになる可能性があります。