Excel VBA質問箱 IV

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

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


11534 / 76734 ←次へ | 前へ→

【70734】Re:該当の文字列から○○をコピーして貼り付け
発言  kanabun  - 11/12/20(火) 20:54 -

引用なし
パスワード
   ▼栗きんとん さん:
こんにちは〜

>先頭文字がJan 〜 Decから始まるものA列を検索。
ということは、セルの値が
Jan*
Feb*
Mar*
Apr*
May*
Jun*
Jul*
Aug*
Sep*
Oct*
Nov*
Dec*
で始まっているセルだけをCopyしたいってことですよね?

>一致した行をコピーして××シートのA列へ貼り付け繰り返す。
フィルタオプションの設定(Excel2007以降ではフィルタ -「詳細設定」のことです)を
つかわれたらどうでしょう。これなら、Loopする必要ないですし、Jan*〜 Dec* まで
一括抽出できますよ

Sub Try1()
 Dim WS1 As Worksheet
 Dim WS2 As Worksheet
 Dim r As Range
 Dim c As Range
 
 Set WS1 = Worksheets(1)  'コピー元シート
 Set WS2 = Worksheets(2)  'コピー先シート
 With WS2
   '[AA列]に抽出条件記入 列は空いている列ならどこでもよい
   Set c = .Range("AA1").Resize(13) 
   c.Value = [{"wkHeader";"Jan*";"Feb*";"Mar*";"Apr*";"May*";"Jun*";"Jul*";"Aug*";"Sep*";"Oct*";"Nov*";"Dec*"}]
 End With
 Application.CutCopyMode = True
 With WS1
   .Rows(1).Insert                 '1行挿入
   .Range("A1").Value = "wkHeader"  '作業用に列見出しを書き込む
   Set r = .Range("A1", .Cells(.Rows.Count, 1).End(xlUp))
   r.AdvancedFilter xlFilterInPlace, c        ’フィルタオプション実行
   If r.SpecialCells(xlVisible).Count > 1 Then  '1行以上抽出行があったとき
     Intersect(r, r.Offset(1)).Copy WS2.[A1]   '所定シートへコピー
   End If
   .ShowAllData
   .Rows(1).Delete
 End With
End Sub

5 hits

【70727】該当の文字列から○○をコピーして貼り付け 栗きんとん 11/12/20(火) 14:08 質問
【70728】Re:該当の文字列から○○をコピーして貼り... つん 11/12/20(火) 14:23 回答
【70729】Re:該当の文字列から○○をコピーして貼り... 栗きんとん 11/12/20(火) 16:23 質問
【70730】Re:該当の文字列から○○をコピーして貼り... つん 11/12/20(火) 16:34 回答
【70734】Re:該当の文字列から○○をコピーして貼り... kanabun 11/12/20(火) 20:54 発言
【70741】Re:該当の文字列から○○をコピーして貼り... 栗きんとん 11/12/22(木) 17:41 質問
【70742】Re:該当の文字列から○○をコピーして貼り... kanabun 11/12/22(木) 18:10 発言
【70752】Re:該当の文字列から○○をコピーして貼り... 栗きんとん 11/12/23(金) 19:34 お礼

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