No. | 質問・回答 | おれい |
|
[118532] マクロで繰り返し処理をしたい(データ転記) |
|
|
使用しているOS: Windows XP
使用しているPCのメーカー/FMVD5280
関係するアプリケーション名/バージョン:エクセル2002
複数のデータを入力したデータベースがあります。
そこから、社名ごとのシートにデータを転記したいと思います。
現在は、以下のようなマクロで記録したコードを利用していますが(データのシートでオートフィルタをかけ、各シートにコピー)
、会社が増えるたびにコードを増やさなければならず不便です。
既に30社以上のシートがあります。
データおよび会社ごとのシートの他に、集計シートや回覧シートがあるため、転記するシートのみを選択する方法がわりません。
マクロは、初心者で、今までも記録でしか利用していません。
よろしくお願い致します。
Sheets("データ").Select
Selection.AutoFilter Field:=7, Criteria1:="会社名?"
Range("B8:S300").Copy
Sheets("会社名?").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B1").Select
rindaxrinda (未登録) 2010年3月9日11:14
|
|
|
|
[118538] |
システム業者に相談して作ってもらうのがいいと思います。趣味のマクロではないのですから、費用がかかっても早く正確な仕組みを手に入れるほうがいいと思います。
やり方はあるでしょうが、ここで説明されて果たしてrindaxrindaさんが自分で作れるでしょうか。気を悪くしないでくださいね。解決のためにはその点も正しく判断すべきと思います。
ホイス (未登録) 2010年3月9日16:33
|
|
|
|
[118543] |
業者に頼らず自分でがんばると言うのであれば・・・
マクロの動きとしては↓な感じですかね。
1.データベースの最終行の取得
(↓もしくは絶対にDBの抜けが無いのであれば空白になるまで)
i = 1
do while Cell(i,2) <> ""
処理
i = i + 1
loop
2.オートフィルをVBAで指定(会社名?)
3.開始行から取得した最終行までを選択
4.可視セルの選択(編集→ジャンプ→セル選択で選べる項目)
5.コピー
6.会社名のシートへ貼り付け
どっかに会社名のリストを作っておけば、そのリスト上の
会社名が終わるまでは自動で繰り返すようにできますね。
熱中症 (125) 2010年3月10日09:33
|
|
|
|
[118558] |
初めて利用するので、終了の仕方がわからないのですが...。
シート名含まれる文字に規則性があったので、そのシートのみを選択し、繰り返し処理をすることで、解消しました。
ご回答くださった皆様、ありがとうございました。
rindaxrinda (未登録) 2010年3月11日11:22
|
|
|
|
( 参照数:1751 日平均:0.3 ) |
|
〜 回答の受付を終了しました 〜 |