No.5
- 回答日時:
こんにちは。
KenKen_SP です。試しにコードを書いていたら、Wendy02 さんに先を越されました(^^)
似たようなコードですが、折角書いたので(←自分勝手)アップさせて下さい。
Sub URL抽出()
Dim RegEx As Object
Dim strPattern As String
Dim objMatches As Object
Dim objItem As Object
Dim rngCell As Range
Dim Source As String
Dim lngCounter As Long
Dim Buf() As String
'URLパターン
strPattern = "((http|https|ftp)://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]+)"
'マッチング
lngCounter = 0
Set RegEx = CreateObject("VBScript.RegExp")
With RegEx
.Pattern = strPattern
.Global = True
For Each rngCell In Selection
If Not IsEmpty(rngCell) Then
Source = StrConv(Trim$(rngCell.Text), vbNarrow Or vbLowerCase)
Set objMatches = .Execute(Source)
For Each objItem In objMatches
ReDim Preserve Buf(lngCounter)
Buf(lngCounter) = objItem
lngCounter = lngCounter + 1
Next objItem
Set objMatches = Nothing
End If
Next rngCell
End With
Set RegEx = Nothing
'結果出力
With ActiveWorkbook.Sheets.Add
.Range("A1").Resize(UBound(Buf) + 1).Value = _
Application.Transpose(Buf)
End With
End Sub
No.4
- 回答日時:
こんにちは。
>むちゃくちゃな羅列のテキストがあるのですが、その中にいくつかhttp://~で始まる文があります。
マクロを希望されているので、設定等は細かく書きません。範囲をマクロで選択してからお使いください。むちゃくちゃな羅列のテキストというのは、どういうものか分かりませんから、URL の末尾の文字の判定をどうするか、少し、不安な部分があります。
現在、別シートというのを、「Sheet2」に設定してありますので、任意で変更してください。
'<標準モジュール>
Sub PickupURL()
Dim objRE As Object
Dim Match As Object, Matches As Object
Dim Rng As Range
Dim c As Range, i As Long, u As Long
Dim myArray() As Variant
Set Rng = Selection
Set objRE = CreateObject("VBScript.RegExp")
With objRE
.Pattern = "(http://\S+)"
.Global = True
For Each c In Rng
Set Matches = .Execute(c.Text)
For Each Match In Matches
ReDim Preserve myArray(i)
myArray(i) = .Replace(Match, "$1")
i = i + 1
Next
Next
End With
If i = 0 Then Exit Sub
u = UBound(myArray) - LBound(myArray) + 1
'別シートのA1から下に出力
Worksheets("Sheet2").Range("A1").Resize(u) = myArray
Set objRE = Nothing
End Sub
この回答への補足
ご回答ありがとうございました。
さっそく試してみましたが、最初に見つけたURLは抽出してくれたのですが、
その同じURLが複数リスト化されました。
どうも思っていた動きと違うみたいです。
修正しようにも自分には技量不足みたいです。。。
プログラムが組めてうらやましいです。
とても参考になりました。
本当にありがとうございました。
No.3
- 回答日時:
質問文でよくわからない点もあるんですが、探してきました。
検索したい文字列を入力すると、Sheet1のA列を検索して
該当するデータをSheet2に抽出するマクロ
http://park11.wakwak.com/~miko/Excel_Note/16-01_ …
ただこれでURL部分のみを抜き出したい場合、URLのみで構成される単独行でないとできません。
なんか質問文を見ると“あるテキストからURLのみを抜き出したい。”というのが目的で
EXCELでやるという必要性がうかがえないのですが。
もしEXCELでなくてもよいなら秀丸マクロを使う方法もあります。
http://hide.maruo.co.jp/lib/macro/listup101.html
こちらはやり方にも寄りますが、URL部分のみを抜き出せます。
No.1
- 回答日時:
こんにちは~
そのテキストは特定の列にあるんでしょうか?
そうだとして、作業列を使ってもよいなら以下の方法で。
テキストがSheet1のA列1行目からあり、作業列をB列とすれば、
B1に、
=IF(LEFT(A1,7)="http://",ROW(),"")
を入れ、下にフィルコピー
別シートのどのセルでもいいので、
=IF(COUNT(Sheet1!B:B)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!B:B,ROW(A1))))
を入れ、必要分、下にフィルコピー
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel の複数シートの列幅を同...
-
ExcelのVlookup関数の制限について
-
文字の色も参照 VLOOKUP
-
エクセルの保護で、列の表示や...
-
Excelでの並べ替えを全シートま...
-
SUMPRODUCTにて別シートのデー...
-
エクセルで、チェックボックス...
-
VBAで繰り返しコピーしながら下...
-
【VBA】ピボットテーブルを既存...
-
エクセルの横に並んでいるもの...
-
エクセル 日報売上を月報に展開...
-
Excelで列幅が異なる表を左右に...
-
スプレッドシートでindexとIMPO...
-
エクセルで、出来そうなのです...
-
エクセルで重複するセル合計を...
-
エクセルの列の限界は255列以上...
-
Excelにて、ファイル内の複数シ...
-
マクロのコードを教えてください。
-
Excelで条件別にシートを振り分...
-
Excel 2段組み
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
文字の色も参照 VLOOKUP
-
エクセルの保護で、列の表示や...
-
Excel の複数シートの列幅を同...
-
Excelでの並べ替えを全シートま...
-
VBAで繰り返しコピーしながら下...
-
Excel VBA ピボットテーブルに...
-
エクセルの列の限界は255列以上...
-
エクセル マクロ 標準モジュー...
-
エクセルで、チェックボックス...
-
スプレッドシートでindexとIMPO...
-
【条件付き書式】countifsで複...
-
SUMPRODUCTにて別シートのデー...
-
エクセルで横並びの複数データ...
-
エクセルVBAで、ある文字を含ん...
-
エクセル複数シートのデータを...
-
Excelに自動で行の増減をしたい...
-
VLOOKアップ関数の結果の...
-
Excel 2段組み
-
【VBA】複数のシートの指定した...
おすすめ情報