
No.4ベストアンサー
- 回答日時:
簡単ですよ。
抽出元データシート:"A"
抽出先データシート:"B"
"A"に貼り付ける行を格納する変数:lSrcRow
"B"に貼り付ける行を格納する変数:lDstRow
"A"→"B"に貼り付ける列を格納する変数:lCol
※変数名の1文字目"l"はLong型の変数ですよという意味です。
1.初期設定
・lSrcRow = 2
・lDstRow = 2
2.顧客番号抽出処理
2-1.lSrcRow行のA列にデータ入力がない場合→END
2-2.lSrcRow行の顧客番号チェック。
OK?→4.へ。
NG?→2-3へ。
2-3.lSrcRow = lSrcRow + 1
2-4.2-1に戻る
3.END
処理終了
4.顧客別データ転記処理
・lCol = 1(A列)
4-1.lCol = 1(A列)~ 8(H列)までループ。下記処理を実施。
"B".Cells(lDstRow, lCol) = "A".Cells(lsrcRow, lCol)
4-2.lDstRow = lDstRow + 1
4-3.2-3に戻る。
※4.データ転記処理を別関数にする必要はないと思います。
基本的な処理はこんな感じで、あとはこれに色々アレンジすればできると思いますが。
それにしてもこの表だと、顧客No.と顧客名の入力ミスが懸念されますね。その辺が多少気になりますが。
ありがとうございます。
教えていただいた方法でやってみようと頑張ったのですが、私の知識不足のため、よく理解することができませんでした。
いろいろ調べながらもうちょっと頑張ってみたいと思います。
ちなみに顧客NO.を入力すると顧客名が出てくるようにVLOOLUPを使っています。
一応両方表示されると便利だったので。
No.3
- 回答日時:
先ずは、マクロの記録でサンプル作成してみてください。
マクロの記録の開始
1、オートフィルター、抽出したい顧客Noで絞込み
2、1行目からたっぷりと行を選択、コピィ
3、ほかのシートを選択、貼り付け
4、データのシートへ戻って、オートフィルター解除
マクロの記録の終了
少し手直しすればよいと思います。
一例ですが、オートフィルター実行部分を
Selection.AutoFilter Field:=2, Criteria1:=InputBox("ID")
とかINPUTBOXにしてしまえば如何でしょうか。
回答ありがとうございます。
INPUTBOXの代わりに、指定したセル内に入力したIDで抽出したいのですが、なかなかうまくいきません。
もうちょっと頑張ってみたいと思います。
No.2
- 回答日時:
>これを元に顧客NO.を指定すると、該当する行のみを抜き出して、別のシートに転記されるというようにしたいのです。
>どのような命令文を作ればよいのでしょうか?
どのように条件を与えるのでしょう。
あとコピぺ自体はA~H列の範囲で選択するか、A~I列で貼付けた後I列を削除すれば
手作業でもできますが・・・?
それとも顧客別シートへの振り分けを考えているのでしょうか?
だとすると、
>顧客NO.を指定すると
がかみ合わないから違うかな。
この回答への補足
>どのように条件を与えるのでしょう。
指定したセルに顧客NO.を入力すると、別シートにその顧客のみの行を抜き出して転記するようにしたいのです。
全体の売上帳と、顧客ごとの売上帳を作りたかったのですが、毎年稼働する顧客数が何十件にもなるため、必要な時に必要な顧客の売上のみ表示させるようにしたいのです。
手作業でも出来ますが、抜き出しミスなどがあれば困るので、できれば自動で抽出される方法をとりたいのです。
No.1
- 回答日時:
VBAにこだわっていますか?
これくらいなら、オートフィルタで十分に対応できると思いますが
(コピー処理は手動ですが。。。)。
1.オートフィルタで「顧客NO.」を絞り込み
2.結果をコピー
3.別シートに貼り付け
これで簡単に出来ると思います。
VBAだと、余計手間隙かかりますよ。
この回答への補足
すみません!ひとつ書き忘れました。
I列に差額(売上-入金)が入っているのです。
転記する部分はH列までで、顧客別のシートでは、顧客ごとの差額を
計算させたかったので。
オートフィルタだと差額部分もそのまま抜き出してしまうので、VBAにこだわっていたのです。
説明不足ですみませんでした。
宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
Excel 2段組み
-
VBAで繰り返しコピーしながら下...
-
Excelのセルの色を変えた行(す...
-
エクセルの保護で、列の表示や...
-
エクセルで、チェックボックス...
-
EXCELのVBAで複数のシートを追...
-
【VBA】複数のシートの指定した...
-
Excel VBA ピボットテーブルに...
-
Excelに自動で行の増減をしたい...
-
エクセルの列の限界は255列以上...
-
エクセルの特定の複数の行を非...
-
Excel の複数シートの列幅を同...
-
文字の色も参照 VLOOKUP
-
エクセルシートのデータを1列飛...
-
マクロVLOOKUPの高速化
-
エクセルで複数のシートを一つ...
-
シートをまたぐ条件付き書式に...
-
エクセルVBA シート1からシート...
-
エクセルVBA 行追加時に自...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】【配列】3つのシー...
-
文字の色も参照 VLOOKUP
-
【条件付き書式】countifsで複...
-
ExcelのVlookup関数の制限について
-
Excelのセルの色を変えた行(す...
-
エクセルで、チェックボックス...
-
エクセルの保護で、列の表示や...
-
シートをまたぐ条件付き書式に...
-
EXCELのVBAで複数のシートを追...
-
Excelでの並べ替えを全シートま...
-
SUMPRODUCTにて別シートのデー...
-
Excel の複数シートの列幅を同...
-
エクセルの列の限界は255列以上...
-
excel 複数のシートの同じ場所...
-
Excel VBA ピボットテーブルに...
-
Excelに自動で行の増減をしたい...
-
VBAで繰り返しコピーしながら下...
-
VLOOKアップ関数の結果の...
-
エクセルで横並びの複数データ...
-
【VBA】複数のシートの指定した...
おすすめ情報