[[20171216122153]] 『検索結果をコピーした物を別シートに貼付のマクロ』(マクロン) ページの最後に飛ぶ

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

 

『検索結果をコピーした物を別シートに貼付のマクロループについて』(マクロン)

お世話になります。

/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_

'=======================================================================
'POS(0,0)
'=======================================================================

 Cells.Find(What:=" 収束フラグ                                  = 収束", After:= _
        ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
        SearchDirection:=xlNext, MatchCase:=False, MatchByte:=False, _
        SearchFormat:=False).Activate

 ActiveCell.Offset(-5, 0).Select
 ActiveCell.Range("A1:A6").Select
 Selection.Copy

 Sheets("DATA").Select

 ActiveSheet.Paste
 ActiveCell.Offset(6, 0).Select

 Sheets("LOG").Select
 ActiveCell.Offset(6, 0).Select

/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_

上記内容の物を48個作成しちゃいましたが、もっとシンプルにしたく。
勉強の為、自分なりに色々と調べましたが、同じような物がなく。。。
因みにカウント数は固定ではなく・・・

アドバイス、宜しくお願いします。

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


>記内容の物を48個作成しちゃいましたが、もっとシンプルにしたく。

何をしたいマクロなのか、説明していただけますか。

(マナ) 2017/12/16(土) 13:05


マナ様、ありがとうございます。

数十万ある行あるの中に以下のような行が記載されております。
また、配列番号が0,0〜6,6まであり、抽出したい部分は「配列番号」、「回数」、「収束フラグ」の3つです。

そのため、先質問のように"収束"で検索し、5個上の行から、下6行をコピーし、別シートに貼付。
元のシートに戻り、次の配列番号の同6行をコピペとしたいマクロとなります。
以下文は"LOG"sheetに記載、抽出したい分は"DATA"sheetに貼付としたい。

最終的に配列番号0,0〜6,6の49データを"DATA"sheetに表示させ、"収束"がない場合は、
何処の配列番号が未収束か結果を表示させるようにしたいです。

宜しくお願い致します。

/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_

 配列番号                          X, Y      = 0  0
 オフセット                    X, Y [nm] = 133333.4  -266666.7
 回数                            [回] = 6

 [1点の測定結果]
 収束フラグ                        = 収束
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ 

(マクロン) 2017/12/16(土) 13:44


配列番号で検索でもよいですか。
何か問題ありますか?

(マナ) 2017/12/16(土) 14:01


もし、問題ないなら、こんな感じでできませんか。

1)「配列番号で始まる」でオートフィルタ
2)抽出されたセル(可視セル)から下6セルをコピー
3)DATAシートに貼り付け

(マナ) 2017/12/16(土) 14:12


マナ様、ありがとうございます。

言葉足らずで申し訳ありません。
収束フラグが"未収束"の場合もあります。

あくまでも、"収束"が条件(ない場合はERRORとする)で収束している配列番号と回数、収束フラグを抽出
したいマクロを作りたいと思ってます。

For〜Next、Do〜Loopをもう少し勉強してみます。

(マクロン) 2017/12/16(土) 14:31


では、これでできませんか。

1)「= 収束で終わる」でオートフィルタ
2)抽出されたセル(可視セル)から上6セルをコピー
3)DATAシートに貼り付け

(マナ) 2017/12/16(土) 14:38


>抽出したい部分は「配列番号」、「回数」、「収束フラグ」の3つ

 Option Explicit

 Sub test()
    Dim r As Range
    Dim i As Long

    With Sheets("LOG").Cells(1).CurrentRegion.Columns(1)
        .AutoFilter 1, "*= 収束"
        Set r = .SpecialCells(xlCellTypeVisible)
        .AutoFilter
    End With

    Sheets("DATA").Cells(1).CurrentRegion.Columns(1).Offset(1).ClearContents

    For i = 2 To r.Areas.Count
        With r.Areas(i)
            Union(.Offset(-5), .Offset(-3), .Cells).Copy _
                Sheets("DATA").Cells(Rows.Count, 1).End(xlUp).Offset(1)
        End With
    Next

 End Sub

(マナ) 2017/12/16(土) 15:50


コメント返信:

[ 一覧(最新更新順) ]


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