[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『最終行の一つ上から上に検索』(コロン)
わかりづらい点もあるかと思いますが、お時間がありましたら宜しくお願い致します。
Findを使って、最終行の一つ上の行から上へ検索して見つかったらそのセルを選択、したいのですが、どのようにすればよいでしょうか。
少し具体的にしますと、
違うシートから、検索したいシートの最終行に行ごとコピペしています。
コピーしてきた行のデータのF列のセルの値を一つ上の行から検索し、上へ検索したいです。
検索したらその行の下に最終行をコピペ(切り取り貼り付け)します。(この部分は私的には完成済みのためここでは問いません)
Columns("F").Find(c, SearchDirection:=xlPrevious).Select
このようなものにしたのですが、当然ですが、コピペしたセルものが含まれてしまい、うまくいきません。
宜しくお願い致します。
< 使用 Excel:Excel2016、使用 OS:unknown >
Sub TEST()
Dim Rng As Range
Dim c
c = "??"
Set Rng = Range("F1", Range("F" & Rows.Count).End(xlUp).Offset(-1))
Rng.Find(What:=c, LookIn:=xlValues, Lookat:=xlWhole, SearchDirection:=xlPrevious).Select
End Sub
こんな感じでどうでしょう。
(ろっくん) 2018/05/14(月) 09:32
Sub test()
Dim rngFrom As Range
Dim rngTo As Range
Dim c As Range
Set c = Worksheets("Sheet3").Range("A1")
With Worksheets("Sheet2").Columns("F")
Set rngTo = .Range(.Cells(1), .Cells(.Cells.Count, 1).End(xlUp).Offset(-1))
Set rngTo = rngFrom.Find(what:=c.Value, SearchDirection:=xlPrevious)
End With
With Worksheets("Sheet1")
Set rngFrom = .Cells(.Rows.Count, 1).End(xlUp)
End With
rngFrom.EntireRow.Cut
rngTo.Offset(1).EntireRow.Insert
End Sub
(まっつわん) 2018/05/14(月) 12:32
まっつわんさん カット&ペーストの部分はできてるそうなのでいらないみたいですよ。 (ろっくん) 2018/05/14(月) 12:47
下から上方向に探す
↓
(上から下に普通に探して)最後に見つかったものを取得(利用)する
ってやり方にしてみてはどうでしょうか?
ちなみにFindメソッドの部分でいくつかの引数が省略されているので、エラーにならないといいなぁなんて思いますが、余計なお世話ですかね・・・
(もこな2) 2018/05/14(月) 12:55
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.