アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelの質問です。
セルの表示は会社名だけど、そのセルをクリックすると会社の公式サイトへジャンプさせたい場合、
そのセルを右クリック→リンク にてアドレス欄にURLを入れれば、ハイパーリンクとして実現できます。
しかし1,000行もあると手作業でやってられないので、hyperlink関数を使って、URL列と表示名列から生成するしかないのですが、数式を値にするとhyperlinkではなくなってしまいます。
数式を外して手作業で作成したかのようにする事はできますか?

A 回答 (3件)

>こういう場合、どのように説明すれば良かったのでしょうね?


私は文才が無く言葉足らずですぐ思い違いもしてしまいますので
ついつい諄い論調になりがちですので良い回答が浮かびません・・・
    • good
    • 0
この回答へのお礼

とりあえず、要望を汲み取ってくれる方が現れたので幸いでした。
あの手この手、具体例を交えながら伝えようとしないといけませんね。
ありがとうございました。

お礼日時:2023/05/28 18:41

こんにちは


>数式を外して手作業で作成したかのようにする事はできますか?

数式を残したくないと言う事でしょうか・・・
それとも参照セル自体をなくしたいと言う事でしょうか?
両方かな? 手打ちかな?

VBAで設定する
重複しますので割愛しますがVBA不要なら忘れてください

hyperlink関数(リンク先, 別名)
リンク先, 別名は セルの値 と言う事で進めると
(VBA参照先列、Addressなどは値としてhyperlinkに設定されるのでVBA実行後手作業で削除しても問題ないはずです)

VBAコートの例
標準モジュールにコピペ

Sub Sample()
Dim i As Long
With ActiveSheet
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
.Hyperlinks.Add _
Anchor:=Cells(i, "C"), _
Address:=Cells(i, "A").Value, _
TextToDisplay:=Cells(i, "B").Value
Next i
End With
End Sub

Anchor:=(hyperlink関数)設定先セル
Address:= リンク先
TextToDisplay:= 別名

Sampleは
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row で 
A列2行よりA列最終行目までを繰り返し処理を行い
C列にhyperlinkを設定しています
リンク先はA列 i行セル内容(値)
別名はB列 i行セル内容(値)

コード内の"A""B""C"は列シンボル
変数 i は 行を示す 繰り返しのカウント

ブック保存時に通常のエクセルで保存するとVBAは消えますので
名前を付けて保存で 作業用と提出用でブックを分けることも出来ます

手作業で行ったとか自身でVBAを書いて行ったなどと誤解を招く発言をすると思わぬ災難があるかも知れませんのでご注意を
    • good
    • 0
この回答へのお礼

ありがとうございます。
結論から言うと、期待通りの結果が得られました。
伝わりづらい説明で失礼いたしました。

ご認識の通りで、
関数式で実現する場合、C列のHyperLink関数で、A列の情報とB列の情報から生成できますが、A列とB列を削除したらC列はエラーになってしまいます。

頂いたソースで実行したところ、A列とB列を削除してもC列だけで成り立っています。
まさにこれがしたかったのです。こういう場合、どのように説明すれば良かったのでしょうね?

お礼日時:2023/05/23 17:47

こんにちは



>数式を値にするとhyperlinkではなくなってしまいます。
試しに、VLOOKUP関数で別セルの値に応じて可変となるようなリンクをHYPERLINK関数を用いて作成してみましたが、問題なく動作するようです。
機能しない場合というのは、どのような数式を用いているのでしょうか?


>数式を外して手作業で作成したかのようにする事はできますか?
「数式を外す」と数式を設定している意味がなくなっちゃいますけれど??
 (=値が固定になってしまう)
それでも良いのなら、マクロを用いれば可能と思いますが、質問者様がマクロを使えることが前提になります。
ご存じであればそのまま作成できるでしょうけれど、そうでない場合は学習コストが高く、1000セル程度の作業なら手作業の方が遥かに早いことが想像できます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!