[[20190616083315]] 『VBAでハイパーリンクが飛びません』(初心者2) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBAでハイパーリンクが飛びません』(初心者2)

初めて質問させて頂きます。
不手際があれば指摘して頂ければ幸いです。

Sub 新規入力()
Dim LastRow As Long
LastRow = Cells(Rows.Count, 2).End(xlUp).Row + 1
If LastRow = 7 Then

    Range("A" & LastRow).Value = 1
Else
    Range("A" & LastRow).Value = Range("A" & LastRow - 1).Value + 1
End If

Range("B" & LastRow).Value = Range("B3").Value
Range("C" & LastRow).Value = Range("C3").Value
Range("D" & LastRow).Value = Range("D3").Value
Range("E" & LastRow).Value = Range("E3").Value
Range("F" & LastRow).Value = Range("F3").Value
Range("G" & LastRow).Value = Range("G3").Value
Range("H" & LastRow).Value = Range("H3").Value
Range("I" & LastRow).Value = Range("I3").Value
Range("J" & LastRow).Value = Range("J3").Value
Range("K" & LastRow).Value = Range("K3").Value

Range("B3:K3").ClearContents

End Sub

K3にハイパーリンクを貼り付けたのですが、
いざマクロを実行するとハイパーリンクが飛ばずに
ただの文字列になってしまいます。
(ハイパーリンク先はwebページでは無く同PC内の別ファイルです。)

B〜Jまでに名前や電話番号等の基本情報、
Kに詳細データをまとめた別のExcelファイルのハイパーリンクを
マクロで実行するのが目的です。

webや書籍を参考に試行錯誤してみましたが
解決策を発見出来ませんでした。

Kのハイパーリンクを崩さずにマクロを実行する方法を
教えて下さい。
どうぞ宜しくお願い致します。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


K3セルに関して、手作業ならどうしますか。

(マナ) 2019/06/16(日) 09:40


>マナさん

ご返信ありがとうございます。
手作業の場合はハイパーリンク関数を使用してみようと
思っております。
(初心者2) 2019/06/16(日) 10:19


そういうことではなくて、

K3セルを、ハイパーリンクを維持してコピーする作業を手作業だとどうするかです。

(マナ) 2019/06/16(日) 11:16


現状分析について少しコメントします。
解決の方向に向けて動き出したところ恐縮ですが。
  
Range("K" & LastRow).Value = Range("K3").Value
Range("B3:K3").ClearContents
とされています。
 
・K3の値だけ(ハイパーリンクは値じゃないので対象外)を別のセルにセット。
・その後、K3をClearContentsすると、ハイパーリンクも含め消去されます。

(γ) 2019/06/16(日) 11:23


>γさん

ご返信ありがとうございます。

ハイパーリンク値ではないので対象外なんですね。
勉強になりました。
ご指導ありがとうございます。
(初心者2) 2019/06/16(日) 12:02


>マナさん

ご返信ありがとうございます。

対象のセルを右クリックしてハイパーリンクの挿入を
使用しておりました。

ご質問の意図は合ってますでしょうか?
初心者で申し訳ありません。
宜しくお願い致します。
(初心者2) 2019/06/16(日) 12:04


横から失礼します。
K3セルをコピー貼付すればハイパーリンクも増幅できると思うんだけど。
 
それと、セル範囲B3:K3を纏めて処理できないのですか?
Range("B3:K3")という書き方はご存じ?

(γ) 2019/06/16(日) 12:27


>γさん

ご返信ありがとうございます。

B3〜J3までに名前や電話番号等の基本情報、
K3に詳細データをまとめた別のExcelファイルのハイパーリンクを
マクロで実行するのが目的です。

B〜K3は入力用セルで、マクロを実行するごとに
新しい番号を取得して最終行に追加される仕様にしたいと思っています。
コピー貼付や手入力も考えたのですが、ハイパーリンクごと飛ばす方法はないかと思い
質問させて頂いた次第です。

Range("B3:K3")も書籍の情報を頼りに試してみたのですが
うまく実行されなかったので分解して組んでしまいました。

長々と申し訳ありません。
宜しくお願い致します。
(初心者2) 2019/06/16(日) 13:02


    Range("B3:K3").Copy Range("B" & LastRow)
    Range("B3:J3").ClearContents
  というようなことなんでしょうか。
  K3セルのリンク先はそのつど違うのか固定なのか不明ですので、
  消す対象からはずしています。
(γ) 2019/06/16(日) 14:38

>γさん

ご返信ありがとうございます。
k3のリンク先は必ずその都度違うものになります。

Sub 新規入力()
Dim LastRow As Long
LastRow = Cells(Rows.Count, 2).End(xlUp).Row + 1
If LastRow = 7 Then

    Range("A" & LastRow).Value = 1
Else
    Range("A" & LastRow).Value = Range("A" & LastRow - 1).Value + 1
End If

 Range("B3:K3").Copy Range("B" & LastRow)

Range("B3:K3").ClearContents

End Sub

貼り付けて頂いた部分を修正しマクロを実行したところ
正常に作動しました。
ハイパーリンクに関しては別の方法を考えてみます。
ご指導ありがとうございました。
(初心者2) 2019/06/16(日) 16:02


>ハイパーリンクに関しては別の方法を考えてみます。
ハイパーリンクもコピーされるわけですが、
何が問題として残っているんですか?
 
ハイパーリンク設定の負荷を考えると、
HYPERLINK関数を使うのが簡便でしょう。
 
K3 = HYPERLINK(L3,"LINK")
とでもして、リンク先をL3に入力すればいい。
消すのは
Range("B3:J3,L3").ClearContents

(γ) 2019/06/16(日) 20:02


>γさん

ご返信ありがとうございます。
アドバイスの通りHYPERLINK関数を使うことにしました。
おかげ様で思い通りのものが出来上がりました。

迅速に対応して頂き誠にありがとうございます。

もっと勉強して参ります。
また質問させて頂くこともあるかと思いますが、
その際はどうぞご指導ご鞭撻のほどお願い致します。

本当にありがとうございました。

(初心者2) 2019/06/17(月) 10:11


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.