エクセルのA列にURLリンクが貼られている文字列が3000行ほどあります。そのURL(例:http://www.***.**.cc/など)の文字列をB列に入力したいのですが、リンクゲット関数か何かあるのでしょうか?またはマクロ(VBA?)とかで処理する方法はあるのでしょうか。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは。
maruru01です。仮に1~3000行までのA列のリンクアドレスをB列に書き出すとします。
Sub Macro()
Dim i As Long
For i = 1 To 3000
Cells(i, 2).Value = Cells(i, 1).Hyperlinks(1).Address
Next i
End Sub
という感じになります。
質問の意図はmaruru01の言われている通りです。
関数はなくマクロ(VBA)であるということですね。
助かりました。ありがとうございます。
No.10
- 回答日時:
feverさん
ああ、97ですか。
私は2000なもので。
しかも、97と仕様が異なること知らなかったし・・・
これじゃあ、最初から話がかみ合うはずないですよね。
ごちゃごちゃ言って申し訳有りません。
質問者さんが97だったら、私の回答はほぼ意味なしです・・・
私も質問者さんからのリアクションがない限りはこれでコメントを控えます。
失礼しました。
No.9
- 回答日時:
maruru01さん、何度もすみません(^^ゞ
私のエクセルは97なのですが、http://~で入力しても自動的にハイパーリンクになりませんし、ハイパーリンクの編集を指定してもリンク先のファイル/URLとパスは同じ物になります。
([表示文字列]と、[ファイル名またはWebページ名]の2つの欄は表示されません…)
なので、名前の変更を行うとエラーになり、出来ませんでした…
おっしゃりたいこと、理解致しました。
どうやらmaruru01さんのバージョンの方が上のようです。
なので、こういう回答になったことをご理解戴いただきたいと思います。m(__)m
では、これ以降はコメントを差し控えさせて戴きます。
muneさん、いっぱいカキコしてごめんなさいね!
No.8
- 回答日時:
あまり、質問者を置いて回答者どうしでやるのもどうかと思いますが、中途半端なのもなんですので。
feverさん
>#4・5に『書き出し』と書いたのがいけなかったですね。
>(しかし、#3では『URLが表示されます』と書いたのですが
B1に、「書き出す」とか「URLが表示される」とかを言っているのではないのです。
例えば、A1に、
「http://www.goo.ne.jp/」
と入力すると、下線が付き(色も変わり)ハイパーリンクが自動的に設定されます。
これでA1をクリックすると、gooのTopページをIEなどで開きますね。
で、この時B1に、
=A1
とすれば、確かにB1は、
「http://www.goo.ne.jp/」
と表示されます。
しかし、これはA1のリンクアドレスを表示しているわけではありません。
次に、A1を選択し(クリックするとリンク先を開いてしまうので、隣りのセルから矢印で移動などで)、メニューの[挿入]→[ハイパーリンク]で[ハイパーリンクの編集]ダイアログを表示します。
そこには、
[表示文字列]と、[ファイル名またはWebページ名]の2つの欄があり、両方に、
「http://www.goo.ne.jp/」
が入力されています。
ここで、私が言っているリンクアドレスというのは、[ファイル名またはWebページ名]の方で、B1に、
=A1
として表示される(書き出される)のは、[表示文字列]の方なのです。
例えば、この[表示文字列]の欄を、
「gooのページ」
と変更します。
すると、A1には、
「gooのページ」
と表示(下線と色も)され、クリックすれば、やはりgooのTopページを開きます。
ところが、この時B1に、
=A1
とすると、表示は、
「gooのページ」
となります。
(形式を選択して貼り付けも同様)
つまり、feverさんの方法ではA1のリンクアドレスを表示させることは出来ないのです。
つまり常に、必ずA1のリンクアドレスを表示させるには(おそらく一般操作や関数では塗りなので)、私のNo.1の回答のようなVBAによる処理になるわけです。
お分かりいただけたでしょうか。
No.7
- 回答日時:
maruru01さん、どうもです。
#4・5に『書き出し』と書いたのがいけなかったですね。
(しかし、#3では『URLが表示されます』と書いたのですが(^^ゞ )
muneさんが、A列と同じ内容の文字列を必要とされるならば、maruru01さんのご指摘があったように、単純にA列をコピーして、B列へ『形式を指定して貼り付け/値』されれば、出来ることでしたね♪(^^ゞ
先に、表示することを連想したものでそうなってしまいました。すみません!
No.6
- 回答日時:
feverさんへ
つまり、私のNo.3の回答の下の3行のことを言っているのですね。
私が言いたかったのは、B1に、
=A1
とした場合、
けっして、A1のリンクアドレスを書き出しているわけではない、あくまで「表示文字列」を書き出しているに過ぎない、
ということです。
言い換えると、A1にハイパーリンクが設定されている場合、A1に表示されている文字列は、
"必ずしもリンクアドレスとは限らない"
ということです。
つまり、操作の意味としては正確ではないけど、結果はちょうど同じになるということです。
そういう意味で、汎用的な回答にはならないということです。
まあ、質問者がfeverさんの方法でOKなら、それでいい訳ですが。
なお、最後の[形式を選択して貼り付け]は、A1を直接コピーしても同じことです。
No.5
- 回答日時:
#3のmaruru01さん、こんにちは。
私はmuneさんが質問した内容を以下のように理解したんですが(^^ゞ
・A列にハイパーリンクでURLが貼られている。
・B列に、A列のURL(アドレス:文字列)を書き出したい。
なので、B列は
B1=A1
B2=A2
B3=A3
・
・
・
と入力されてから、実際に文字を必要とされるのであれば、B列を一度『=A1』の様に表示させてから、B列ごと『コピー/形式を指定して貼り付け/値』を選んで実行することをお勧めしただけなんですが…
No.4
- 回答日時:
#3のmaruru01さん、こんにちは。
私はmuneさんが質問した内容を以下のように理解したんですが(^^ゞ
・A列にハイパーリンクでURLが貼られている。
・B列に、A列のURL(アドレス:文字列)を書き出したい。
なので、B列は
B1=A1
B2=A2
B3=A3
・
・
・
と入力されてから、実際に文字を必要とされるのであれば、一度『=A1』で表示させてから、列を『コピー/形式を指定して貼り付け/値』を選んで実行することをお勧めしただけです。
No.3
- 回答日時:
No.2の方の、
>B列に普通に『=A1』とすれば、URLが表示されます。
は、正確には、リンクアドレスではなく、A1の"表示文字列"が表示されます。
例えば、A1を選択して、右クリックのショートカットメニューの[ハイパーリンク]→[ハイパーリンクの編集]を選択します。
すると、[表示文字列]と[ファイル名またはWebページ名]という欄があります。
[ファイル名またはWebページ名]がリンクアドレスで、仮に、[表示文字列]に、
「○○のページ」
のような分かりやすいタイトルを付けることが出来ます。
そうすると、セルA1には、この[表示文字列]が表示され、クリックすると、[ファイル名またはWebページ名]に設定したURLへ飛びます。
そして、B1に、
=A1
とすると、
「○○のページ」
という[表示文字列]が表示されます。
もちろん、A1に直接URLを入力すると、
[表示文字列]=[ファイル名またはWebページ名]
になるので、結果的にはOKなのですが。
No.2
- 回答日時:
A列に入力されているのはハイパーリンクのことでしょうか?
B列に普通に『=A1』とすれば、URLが表示されます。
実際に文字を必要とされるのであれば、一度『=A1』で表示させてから、列を『コピー/形式を指定して貼り付け/値』を選んで実行してあげればOKだと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Excel(エクセル) エクセルデーターの並び替え 5 2022/08/06 09:59
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) エクセルでA列セル内で折り返すことなく、文字列を、B列C列・・・側に一行に 2 2022/07/23 02:02
- Visual Basic(VBA) Activesheet.Pasteで困っています 1 2023/01/22 07:41
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Visual Basic(VBA) エクセルVBAのコードについて 2 2022/08/10 21:49
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセル 文字数 多い順 並...
-
VBAで文字列を数値に変換したい
-
エクセルで最初のスペースまで...
-
「B列が日曜の場合」C列に/...
-
2つのエクセルのデータを同じよ...
-
エクセル(勝手に太字になる)
-
エクセルで文字が混じった数字...
-
エクセル 同じ値を探して隣の...
-
エクセルの表から正の数、負の...
-
【VBA】特定列に文字が入ってい...
-
エクセルの関数(日数の平均の...
-
A列がない・・・A列が非表示に...
-
エクセルで特定の行を削除した...
-
Excel、市から登録している住所...
-
SUMIFS関数で絶対値で合...
-
Excel 複数列 A列B列C列一致 D...
-
Excelで半角の文字を含むセルを...
-
VBA 連続行データを5行ずつ隣の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
エクセル 同じ値を探して隣の...
-
VBAで文字列を数値に変換したい
-
エクセルの並び変えで、空白セ...
-
Excelで半角の文字を含むセルを...
-
エクセルで文字が混じった数字...
-
Excel、市から登録している住所...
-
A列がない・・・A列が非表示に...
-
エクセルの表から正の数、負の...
-
[関数得意な方]教えて下さい・...
-
エクセルの項目軸を左寄せにしたい
-
エクセル 時間帯の重複の有無
-
Excelにてある膨大なデータを管...
おすすめ情報