Excel VBA質問箱 IV

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

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


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

【66056】データの貼付が繰り返される件 くま 10/7/21(水) 13:30 質問[未読]
【66057】Re:データの貼付が繰り返される件 Jaka 10/7/21(水) 14:57 発言[未読]
【66058】Re:データの貼付が繰り返される件 くま 10/7/21(水) 15:08 お礼[未読]

【66056】データの貼付が繰り返される件
質問  くま  - 10/7/21(水) 13:30 -

引用なし
パスワード
   はじめまして。
初心者ですが、今回使っているマクロでエラーがあり、
原因がわかりません。
どなたか、教えてください。

Sheets("データ").Select
Columns("F:AF").Select
Selection.Copy
Sheets("1").Select
Selection.PasteSpecial Paste:=xlPasteValues, _Operation:=xlNone,SkipBlanks:=False, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False
Selection.AutoFilter Field:=31, Criteria1:="売掛金海外"
Cells.Select
Selection.Copy
Sheets("2").Select
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=False
Cells.Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

記述は上記の通りです。
「データ」シートのF:AFのデータを「1」シートに貼り付け
「1」シートで31列目でフィルターをかけたデータを
「2」シートに値と書式だけ貼り付ける
という内容だと思います。

このファイルは毎月使いますが、マクロ記述は一切さわっていません。
「データ」シートの内容は毎月SAPシステムから抽出したデータです。

エラーの内容は「2」シートにデータを貼り付けるときに、
いつもは「1」シートと同じ内容(1回だけ)で張り付くのですが、
今月は、最終行まで繰り返して張り付いてしまいました。

記述はさわっていないので、SAPから取り込んだデータに
何か変化がないかみたのですが、特にこれといってかわっていません。
なぜ今月だけ貼付を最終行まで繰り返してしまうのか、
原因がわかりません。

Sheets("2").Select
Cells.Select  ←←
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=False
Cells.Select  ←←
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone,
_SkipBlanks:=False, Transpose:=False

とりあえず、全セル指定して貼付ているところを、
A1を選択して張り付けることで1回だけ張り付くようにして回避しましたが、
どなたか理由がわかる方、どうか教えてください。
よろしくお願いします。

Sheets("2").Select
Range("A1").Select  ←←
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=False
Range("A1").Select  ←←
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone,
_SkipBlanks:=False, Transpose:=False

【66057】Re:データの貼付が繰り返される件
発言  Jaka  - 10/7/21(水) 14:57 -

引用なし
パスワード
   多分こういうことなのだろうと。

Sub aakaka()
Range("A1:A10").Value = 10
Range("A:A").Copy  'A列をコピー
Range("C:D").Select 'C:D列選択
Selection.PasteSpecial '選択された全列に対して貼り付け。
End Sub

セルセレクトとか、セレクションペーストとかあいまいに普段は書かないので、
確実ではないけれど。

貼り付け先をはっきり明記すること。
Sheets("xxxx").Range("A1").PasteSpecial
などと。

【66058】Re:データの貼付が繰り返される件
お礼  くま  - 10/7/21(水) 15:08 -

引用なし
パスワード
   回答ありがとうございます。

記述自体の問題であるなら、
今までは大丈夫だったのはなぜかわからなくて・・・。

SAPからとってくるデータの形式等で先月までと違うところがないか
もう一度探しているところです。

考えられるのは、今月はたまたま一行目にマイナス伝票のデータがのっており、
空白セルがいくつかあるので・・・かな??とか・・・。

とりあえず、記述があいまな指定のところは、
今後のために直しました。

どうもありがとうございました。

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