Excel VBA質問箱 IV

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

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


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

【50265】日付で抽出して貼り付け IZU 07/7/17(火) 15:05 質問[未読]
【50266】Re:日付で抽出して貼り付け neptune 07/7/17(火) 15:21 発言[未読]
【50268】Re:日付で抽出して貼り付け IZU 07/7/17(火) 15:34 発言[未読]
【50273】Re:日付で抽出して貼り付け neptune 07/7/17(火) 21:07 回答[未読]
【50280】Re:日付で抽出して貼り付け IZU 07/7/18(水) 9:56 お礼[未読]
【50267】Re:日付で抽出して貼り付け Jaka 07/7/17(火) 15:28 発言[未読]

【50265】日付で抽出して貼り付け
質問  IZU  - 07/7/17(火) 15:05 -

引用なし
パスワード
   初歩的なしつもんかと思いますが、

入荷日   顧客名  枚数  タイプ
2007/7/1  AAAA   600    A
2007/7/5  CCCC   500    B
2007/7/8  BBBB   400    C

このようなデータがあり、例えば7/5の顧客名と枚数のデータだけを別シートに貼り付けたいのですが、教えていただけませんでしょうか?

【50266】Re:日付で抽出して貼り付け
発言  neptune  - 07/7/17(火) 15:21 -

引用なし
パスワード
   ▼IZU さん:
こんにちは

マクロの記録でできませんか?

>7/5の顧客名と枚数のデータだけを
先ずフィルタオプション等で必要な日付のみを抽出
※いくらでも方法はあります。

>別シートに貼り付けたいのです
上記の必要な部分をコピーして貼り付け

が一番簡単かと思います。

自分で何をして、どこが分からないくらいは書いておきましょう。
もっとマシなResが付きます。

【50267】Re:日付で抽出して貼り付け
発言  Jaka  - 07/7/17(火) 15:28 -

引用なし
パスワード
   オートフィルターを使ったらどうでしょうか?
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=29783;id=excel
httは全角なので半角に直してください。

他、「日付 オートフィルター」で検索すれば見つかると思います。

【50268】Re:日付で抽出して貼り付け
発言  IZU  - 07/7/17(火) 15:34 -

引用なし
パスワード
   neptune さん
言葉が足りませんでした。申し訳ありません。
VBAでマクロを作成しているのですが、
Sub Test()
  With Worksheets("Sheet1")
  Range("A1").AutoFilter _
    Field:=1, Criteria1:="=2007/7/5"
  Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _
    Worksheets("Sheet2").Range("A1")
  .AutoFilterMode = False
  End With
End Sub

この場合のCriteria1:=の後"=2007/7/5"が原因でしょうか?
それとコピーしたいのはB:Cなのですが、やり方がわかりません。

【50273】Re:日付で抽出して貼り付け
回答  neptune  - 07/7/17(火) 21:07 -

引用なし
パスワード
   ▼IZU さん:
こんにちは

>Sub Test()
>  With Worksheets("Sheet1")
>  Range("A1").AutoFilter _
>    Field:=1, Criteria1:="=2007/7/5"
>  Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _
>    Worksheets("Sheet2").Range("A1")
>  .AutoFilterMode = False
>  End With
>End Sub
>
>この場合のCriteria1:=の後"=2007/7/5"が原因でしょうか?
正直私はオートフィルタのVBAを書いた事がないのですが、
おそらくそう思います。Criteria1を以下の値で試したらどれかが、
いけると予想します。
Criteria1:="2007/7/5"
Criteria1:="#2007/7/5#"
Criteria1:=cdate("2007/7/5")
Criteria1:=datevalue("2007/7/5")


>それとコピーしたいのはB:Cなのですが、やり方がわかりません。
こんな感じで駄目ですか?
Dim r As Variant
  r = Range("B:C").CurrentRegion.SpecialCells(xlCellTypeVisible).Value

【50280】Re:日付で抽出して貼り付け
お礼  IZU  - 07/7/18(水) 9:56 -

引用なし
パスワード
   Criteria1:=cdate("2007/7/5")
この形式でできました。
ありがとうございました。
貼り付けの方はエラーが出てしまいました。
こちらはやり方をもう少しかえていろいろ試してやってみます。

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