Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


705 / 13645 ツリー ←次へ | 前へ→

【78806】worksheetのコピー貼り付け のんぼ 17/2/4(土) 14:35 質問[未読]
【78807】Re:worksheetのコピー貼り付け β 17/2/4(土) 16:09 発言[未読]
【78808】Re:worksheetのコピー貼り付け のんぼ 17/2/5(日) 7:58 質問[未読]
【78809】Re:worksheetのコピー貼り付け γ 17/2/5(日) 10:09 発言[未読]
【78810】Re:worksheetのコピー貼り付け γ 17/2/5(日) 10:56 発言[未読]
【78811】Re:worksheetのコピー貼り付け のんぼ 17/2/5(日) 13:34 お礼[未読]
【78840】Re:worksheetのコピー貼り付け γ 17/2/9(木) 22:23 発言[未読]
【78851】Re:worksheetのコピー貼り付け のんぼ 17/2/11(土) 15:24 お礼[未読]
【78859】Re:worksheetのコピー貼り付け γ 17/2/12(日) 9:59 発言[未読]
【78877】Re:worksheetのコピー貼り付け のんぼ 17/2/18(土) 7:53 お礼[未読]

【78806】worksheetのコピー貼り付け
質問  のんぼ  - 17/2/4(土) 14:35 -

引用なし
パスワード
    よろしくお願いします。

 マスターデータをVBAファイルに取り込みます。項目ごとに最大4種類のシート(シート名、000,001,002,003)に振り分けられデーター集計します。データーによっては2種類や3種類になる場合があります。各シートに集計されました納品金額、返品金額を同じファイルの別シート(請求書鑑)貼り付けたいと思いまして
下記コードを作成しましたがうまくいきません。(000シートの納品金額を貼り付けるコードを書いたつもりです)
 sub 作成 ()
   dim ws
   dim rng
   for ws=1 to worksheets.count
   set rng=cells.find(what:="納品金額",lookin:=xlvalues,lookat:=xlwhole)
   if not rng is nothing then
   if activeworkbook.worksheets(ws).name="000"then
   worksheets(ws).range("h" & rng.row).copy
   worksheets("請求書鑑").select
   range("j7").pastespecial paste:=xlpasteall
   end if
   end if
   next
  end sub
ご教授いただきたく、お願いいたします。

【78807】Re:worksheetのコピー貼り付け
発言  β  - 17/2/4(土) 16:09 -

引用なし
パスワード
   ▼のんぼ さん:

マスターデータなるものと取り込みたいシートの具体的なレイアウトを教えてもらわなければ
先に進めません。

アップされたコード、おかしなところがたくさんありますが、それはさておいても
このコードでやっていることは、今、アクティブになっているシートのどこかのセルに
"納品金額"と入ったセルがあった場合、そのセルの行のH列のセルの値を 請求書鑑シートの
J7 に転記しているだけで、振分と思われる処理はどこにもありません。

コードを見てみ何をしたいのかがわかりませんので、文章と具体的レイアウトで
要件を説明してください。

【78808】Re:worksheetのコピー貼り付け
質問  のんぼ  - 17/2/5(日) 7:58 -

引用なし
パスワード
   ▼β さん:
さっそくご返事いただきまして、ありがとうございます。うまく表現できずに、申し訳ありません。再度文章で表現させていただきます。
元になるデーターには、口座別(000,001,002,003)に売上金額が入っています。それをシートに口座別に分けて集計するようにしました。そこまでは、プロシージャの作成ができています。そこから、振り分けたシートの納品金額を別シートの請求書鑑へコピーしたいのですが。その部分がわからなくて投稿しました。
よろしくお願いします。
 

【78809】Re:worksheetのコピー貼り付け
発言  γ  - 17/2/5(日) 10:09 -

引用なし
パスワード
   >マスターデータなるものと取り込みたいシートの具体的なレイアウト
って、どこかに説明があるのですか?

# HNは似ていますが、βさんとは別人です。

【78810】Re:worksheetのコピー貼り付け
発言  γ  - 17/2/5(日) 10:56 -

引用なし
パスワード
   ・検索対象のシートが特定されていない。
・シートが決まっているなら、
For Each ws In Array("001","002" ,....)
のように繰り返したほうがよいと思います。
・書き込み先は説明がないので不明
・変数宣言が不十分、型も指定した方が良いでしょう。
網羅してないかもしれないが、とりあえず。

【78811】Re:worksheetのコピー貼り付け
お礼  のんぼ  - 17/2/5(日) 13:34 -

引用なし
パスワード
   ▼γ さん:
>・検索対象のシートが特定されていない。
>・シートが決まっているなら、
>For Each ws In Array("001","002" ,....)
>のように繰り返したほうがよいと思います。
>・書き込み先は説明がないので不明
>・変数宣言が不十分、型も指定した方が良いでしょう。
>網羅してないかもしれないが、とりあえず。
ご返答ありがとうございます。
説明が不十分で申し訳ありません。もう一度、あらためて説明させていただきます。

【78840】Re:worksheetのコピー貼り付け
発言  γ  - 17/2/9(木) 22:23 -

引用なし
パスワード
   ヒントを回答しているのに無視ですか?
返事くらいしたらどうでしょう。

【78851】Re:worksheetのコピー貼り付け
お礼  のんぼ  - 17/2/11(土) 15:24 -

引用なし
パスワード
   ▼γ さん:
>ヒントを回答しているのに無視ですか?
>返事くらいしたらどうでしょう。
申し訳ありません
返事が遅くなりました。
for each を使ってみるようにします。また、変数宣言の型を入れるようにします。
どうもありがとうございました。

【78859】Re:worksheetのコピー貼り付け
発言  γ  - 17/2/12(日) 9:59 -

引用なし
パスワード
   修正すべき最大のものは、
>・検索対象のシートが特定されていない。
のところです。

標準モジュールに書かれたプロシージャで、
シート名が省略されると、現在アクティブなシートが前提とされます。
ループ内の後半で、"請求書鑑"がアクティブにされていますから、
次の検索処理では、そのシートのなかを検索してしまうことになります。

こういったことを頭に置いて、
コードに手を入れてください。

もう完成しているなら良いけれど、そうでないならQ/Aを続けたらどうかと。

【78877】Re:worksheetのコピー貼り付け
お礼  のんぼ  - 17/2/18(土) 7:53 -

引用なし
パスワード
   ▼γ さん:
>修正すべき最大のものは、
>>・検索対象のシートが特定されていない。
>のところです。
>
>標準モジュールに書かれたプロシージャで、
>シート名が省略されると、現在アクティブなシートが前提とされます。
>ループ内の後半で、"請求書鑑"がアクティブにされていますから、
>次の検索処理では、そのシートのなかを検索してしまうことになります。
>
>こういったことを頭に置いて、
>コードに手を入れてください。
>
>もう完成しているなら良いけれど、そうでないならQ/Aを続けたらどうかと。
返礼遅れまして申し訳ありません。
いろいろアドバイスをいただきまして、大変ありがとうございます。勉強になりました。参考にさせていただき、勉強するように努力いたします。
本当にありがとうございました。

705 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free