重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

マクロを使うのが初心者のため、詳しい方に以下のマクロ
コードを教えていただきたいです。

ある表の一番右の列にハイパーリンクが並んでいます。
そのハイパーリンクにて、各Bookファイルが開くのですが
ハイパーリンクを一回押すことで、その一行(数セル)を、
開いた別ファイルのsheet内に貼り付けたいです。
今は方法がわからないため、ハイパーリンクにてファイル
だけ開き、表の一行をコピーして、そのファイル内に貼り
付けています。

すみませんがわかる方教えていただきたいです。よろしく
お願いします。

A 回答 (3件)

マクロの記録の例


マクロの記録開始後に
1.コピーしたい範囲を選択してコピー
2.リンクをクリック
3.リンク先がアクティブになるので貼り付け先を選択して貼り付け
マクロの記録終了

すると
Sub Macro4()
'
' Macro4 Macro
' マクロ記録日 : 2009/1/15 ユーザー名 :XXXX
'

'
Range("D1").Select
Application.CutCopyMode = False
Selection.Copy
Range("L1").Select  ’ここを変更します
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Range("A22").Select
ActiveSheet.Paste
End Sub

こんなマクロが記録されます。

このまま実行すると毎回決まったリンク先を開いてしまうので一部を変更。

マクロの中のここを変更の部分をマクロ実行前のアクティブセルを参照してリンクが貼り付けられたセルをセレクトできるようにしておけば良い訳です。

後は工夫してみてね
    • good
    • 0

マクロの記録で動作を記録すればいいのではないですか?

    • good
    • 0

>今は方法がわからないため・・・・そのファイル内に貼り


付けています。
この作業を、エクセルの"マクロの記録"と言う機能でやってみましたか?
そしてそれで出来たコードを、VBエディターで開いて確認してみましたか?
確認済みであれば、そのコードを元にしてやりたいことの内、どの部分が分からないのかを質問した方が、より良い回答が得られやすいと思いますよ。

"ある表の一番右の列"といっても、どんな表がどのセルに作られているのか?
また、"その一行(数セル)"と言うのもどこなのか(絶対参照なのか?相対参照なのか?)などが分からないと、この質問文だけでの回答は難しいと思います。
    • good
    • 0

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