[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『特定の文字列が書かれた行を最終行まで取得』(シューヘイ)
特定の文字列が書かれた行を最終行まで取得したいのですがどうすればよいでしょう・・・。
A列のセルにRが含まれればこの列で検索をかけ、含まれなければこの列で検索をかけるというコードを記述してます
A6のセルにRが含まれるかどうかは出来たんですがA7、A8・・・にも文字列があれば下に下に取得したいと思ってます。どなたかお助け願います
If InStr("A6", "R") > 0 Then
< 使用 Excel:Excel2010、使用 OS:Windows7 >
Sub test() Dim i As Long
For i = 6 To Cells(Rows.Count, "A").End(xlUp).Row If 0 < InStr(Cells(i, "A").Value, "R") Then Cells(i, "B").Value = "○" End If Next i End Sub (???) 2015/05/15(金) 14:53
A6にRが含まれていた場合はうまくいくんですが、それ以降(A7〜)がうまくいきません・・・。というのはA7からはA6と同じ処理?しかしてくれない状態です。例えばA7にRが含まれてなくても含まれた方の処理しかしてくれないということです。説明が下手なのでうまく伝わっているか不安ですがどうか宜しくお願いします。
(シューヘイ) 2015/05/15(金) 15:12
A列の内容一部です。
20-13-R1-00
20-14-R1-00
20-14-A1-00
20-15-A1-00
(シューヘイ) 2015/05/15(金) 15:32
Find methodで 何をしたいのかわからないので、とりあえずSelect Sub test() Dim r As Range Set r = Columns("a").Find("r", [a1], , , , 2) If Not r Is Nothing Then r.Select End Sub (seiya) 2015/05/15(金) 16:53
何度もすみません。左から7番目の文字列がRなら、という条件を付けることは可能でしょうか?
>seiyaさん ありがとうございます!
一度試してみますね。
(シューヘイ) 2015/05/15(金) 17:07
If Mid(Cells(i, "A").Value, 7, 1) = "R" Then (???) 2015/05/15(金) 17:14
左から7番目
Sub test() Dim r As Range Set r = Columns("a").Find("??????r*", [a1], , 1, , 2) If Not r Is Nothing Then r.Select End Su (seiya) 2015/05/15(金) 18:16
特定の文字列が書かれた行を最終行まで取得..... 勘違いしている感じ,,,
最終行だけ取得するのかと...
Sub test() Dim x With Range("a1", Range("a" & Rows.Count).End(xlUp)) x = Filter(Evaluate("transpose(if(mid(" & .Address & ",7,1)=""r""," & _ "address(row(" & .Address & "),1,4),char(2)))"), Chr(2), 0) If UBound(x) > -1 Then MsgBox Join(x, vbLf) Else MsgBox "無し" End If End With End Sub (seiya) 2015/05/15(金) 18:40
Autofilter? Sub test() Range("a1", Range("a" & Rows.Count).End(xlUp)).AutoFilter 1, "??????r*" End Sub (seiya) 2015/05/15(金) 18:51
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.