[[20160419151536]] 『キーの下5行まで抽出』(ROONEY) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『キーの下5行まで抽出』(ROONEY)

 こんにちは。よろしくお願いいたします。
 sheet1のA列の1〜15万行の中に、色んな情報がはいっています。
 その中に、「住所」というキーがあった場合、そのキーのした5つまでを抽出し、
 sheet2のA1〜E1行に貼り付けたいです。次にまた、住所のキーがあるごとに、
 5つ抽出し、こんどはA2〜E2に張り付く。といった感じです。もう私の手におえません
 でした。どなたか教えてください。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


Sub main()
    Dim rg As Range, c As Range
    Sheets("Sheet2").Cells.ClearContents
    Set rg = Sheets("Sheet2").Range("A1").Resize(, 5)
    For Each c In Sheets("Sheet1").UsedRange.Columns(1).Cells
        If c.Value = "住所" Then
            c.Resize(5).Copy
            rg.PasteSpecial Transpose:=True
            Set rg = rg.Offset(1)
        End If
    Next c
End Sub
(mm) 2016/04/19(火) 16:35

ありがとうございます。
A列の中に、#NAME?が混ざっており、マクロがとまってしまいます。無視して突き進む方法はありますか?

(ROONEY) 2016/04/19(火) 16:58


on error resume nextを挿入
(mm) 2016/04/19(火) 16:59

Sub main()
'こちらがベターか?
    Dim rg As Range, c As Range
    Sheets("Sheet2").Cells.ClearContents
    Set rg = Sheets("Sheet2").Range("A1").Resize(, 5)
    For Each c In Sheets("Sheet1").UsedRange.Columns(1).Cells
    If Not IsError(c) Then
        If c.Value = "住所" Then
            c.Resize(5).Copy
            rg.PasteSpecial Transpose:=True
            Set rg = rg.Offset(1)
        End If
    End If
    Next c
End Sub
(mm) 2016/04/19(火) 17:05

ソッチのほうがベターでした!どうも、ありがとうございました!

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.