Excel VBA質問箱 IV

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

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


30 / 12950 ツリー ←次へ | 前へ→

【78706】ペーストのVBA 初心 16/12/21(水) 11:06 質問[未読]

【78715】Re:ペーストのVBA 初心 16/12/21(水) 16:24 お礼[未読]

【78715】Re:ペーストのVBA
お礼  初心  - 16/12/21(水) 16:24 -

引用なし
パスワード
   ▼β さん:
うわー!!!!ありがとうございます!!!!
教えていだたいたコードでできました! 今回とても勉強になりました。
奥が深いですね。もっともっと勉強していきたいと思います!

>▼初心 さん:
>
>このメッセージが出るということは wsInvoiceシートの21行目から下に
>結合セルがあるということです。
>
>よく調べてみてください。
>
>なお、処理後、F列をクリアしているということは、次回処理する際には
>1 がたっていないわけですから、必ず 1 をつけてから操作する必要がありますね。
>
>まぁ、それはともあれ、アップされたコードでやろうとしていることを継承して
>コード記述をかえてみました。参考までに。
>(それでも、結合セルがあれば、これもエラーになります)
>
>★印のところは実際のシート名にしてください。
>
>Sub Sample()
>  Dim wsData As Worksheet
>  Dim wsInvoice As Worksheet
>  
>  Set wsData = Sheets("Sheet1")    '★
>  Set wsInvoice = Sheets("Sheet2")  '★
>  
>  wsInvoice.Range("A1", wsInvoice.UsedRange).Columns("A:H").Offset(20).ClearContents
>  wsData.AutoFilterMode = False '念のためいったんリセット
>  
>  wsData.Range("A1").CurrentRegion.AutoFilter Field:=6, Criteria1:="1"
>  wsData.AutoFilter.Range.Copy wsInvoice.Range("A21")
>  
>  On Error Resume Next
>  wsData.ShowAllData
>  On Error GoTo 0
>  
>  wsData.AutoFilter.Range.Columns("F").Offset(1).ClearContents
>    
>  wsInvoice.Select
>  
>End Sub

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