Excel VBA質問箱 IV

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

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


37142 / 76732 ←次へ | 前へ→

【44764】Excel2003でオートフィルタ後のコピーでエラー
質問  yata  - 06/11/30(木) 21:10 -

引用なし
パスワード
   こんばんわ
度々ご教授頂き有難うございます。

今回は、下記の説明がすっきり理解できません。分かりやすく教えていただけませんか?
----------------------------------------------------------------
マイクロソフトのsupport.microsoft.com/kb/905164/ja
VBA マクロで 1 行全体のコピーと貼り付けを実行する場合にこの問題を回避するには、データを含む行の部分だけをコピーするように VBA マクロのコードを変更します。たとえば、次に示すような VBA マクロ コードを使用します。
Range(Range("A" & ActiveCell.Row), Range("IV" & ActiveCell.Row).End(xlToLeft)).Select
----------------------------------------------------------------
2行目がフィールド行で、フィールド行ごとコピーしたいのですが 、貼り付けは出来ているのにエラーメッセージ1004が表示されます。
 strDate = TextBox1.Value  '入力された日付
 Sheets("元データ").Select
 Range("A2").AutoFilter Field:=3, Criteria1:=Format(strDate, "yy/m/d")

 Set FilData = Range("A2").CurrentRegion.SpecialCells(xlCellTypeVisible)
 FilData.Select
 Selection.Copy Destination:=Sheets("結果").Range("A1")
Excel2000ではこれで問題は無いのですが、
可視セルの範囲を
 MsgBox FilData.Address(0,0)
で見ると A2:Z5 A8:Z10 と離れているので都合が悪いのでしょうか?
A2:Z5 とフィールド行とくっついていればメッセージは表示されませんが、A2:Z2 A4:Z4でもメッセージは表示されてしまいます。
それで上のマイクロソフトの説明を参考に
Sheets("元データ").Select
 r=Range("A65536").End(xlUp).Row
Range("A2").AutoFilter Field:=3, Criteria1:=Format(strDate, "yy/m/d")
Set FilData = Range(Range("A2"),Range("Z" & r)).SpecialCells(xlCellTypeVisible)
FilData.Select
 Selection.Copy Destination:=Sheets("結果").Range("A1")
としてみましたがエラーメッセージがでます。
Destinationを取ったり、PasteSpecialを使ったりしてみましたがうまく行きません。
また、フィールド行とデータ抽出部分の2回に分けて貼り付けをしてもダメでした。
結局 On Error Resum Next を挟んで使用しています。
何とかいい方法が無いでしょうか
0 hits

【44764】Excel2003でオートフィルタ後のコピーでエラー yata 06/11/30(木) 21:10 質問
【44800】Re:Excel2003でオートフィルタ後のコピーで... Kein 06/12/1(金) 16:51 回答
【44817】Re:Excel2003でオートフィルタ後のコピーで... yata 06/12/1(金) 21:57 質問
【44820】Re:Excel2003でオートフィルタ後のコピーで... Kein 06/12/1(金) 23:19 回答
【44823】Re:Excel2003でオートフィルタ後のコピーで... yata 06/12/2(土) 8:38 お礼

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