プロが教えるわが家の防犯対策術!

windowsXP EXCELでハイパーリンクが設定されたセルでクリックをするとリンク先にジャンプしますが、リターンキーではジャンプしません。
リターンキーでジャンプする方法を教えてください。

バージョンが理由かは分かりませんが、windows2000のPCで操作した時はリターンキージャンプしましたが、今使っているwindowsXPではできませんでした。どなたかご存知の方がおりましたら教えてください。

バージョン:Microsoft Office Excel 2003

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こんにちは。



それは、OSのバージョンではなくて、Office のバージョンの違いではありませんか?
今、試してみると、OSは、同じで、Excel 2000では、可能でした。たぶん、外部リンクへのセキュリティの強化のような気がします。

そこで、マクロを作ってみました。
以下を、標準モジュールに入れてください。一旦、保存して、そのブックを閉じて、開けば、キーが設定されます。

'------------------------------------------------------
Sub Auto_Open()
 '起動時 キー設定 On
 Call SettingKeys(True)
End Sub
Sub Auto_Close()
 '終了時 キー設定 Off
 Call SettingKeys(False)
End Sub
Sub SettingKeys(flg As Boolean)
 If flg Then
  Application.OnKey "{Enter}", "JumpHyperLink"
  Application.OnKey "~", "JumpHyperLink"
 Else
  Application.OnKey "{Enter}"
  Application.OnKey "~"
 End If
End Sub
Sub JumpHyperLink()
 If TypeName(Selection) = "Range" Then
  Selection.Hyperlinks(1).Follow NewWindow:=False
 End If
End Sub
'-------------------------------------------------------

一応、このマクロの検査はなされていますが、個別のブックで、しばらく使ってみてください。もし、それで問題がなければ、「個人用マクロブック(Personal.xls)」に登録してもよいかもしれません。

もしかしたら、他に方法があるかもしれません。
    • good
    • 0
この回答へのお礼

教えていただいたマクロを組み込んで、希望の操作を実現できました。ありがとうございました。

お礼日時:2007/11/12 09:38

#1 のWendy02です。



複数ブックを開いている時、別のマクロ付きのブックで、対話型の状態のマクロを使用中に、#1で作ったマクロが割り込むことがあります。はっきりとした原因は分かりませんが、バッファなどに、ハイパーリンクを抱えているのか、誤動作します。

一応、#1のJumpHyperLinkをそっくり以下と入れ替えてみてください。

Sub JumpHyperLink()
 If TypeName(Selection) = "Range" Then
  If ThisWorkbook.Worksheets(Selection.Parent.Name) Is ActiveSheet Then
    Selection.Hyperlinks(1).Follow NewWindow:=False
  End If
 End If
End Sub

なお、単独で開いている分には、問題はないと思います。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル2007のセルに入力されたハイパーリンクを開くショートカットキーの有無

少し調べたところoffice2000くらいまではエンターキーでリンクを開けたらしいということはわかりました。

現在は一つ一つのセルをマウスクリックで開いています。

エクセル2007のセルにhyperlink関数で出力したlinkを開くショートカットキーがあったら教えてください。
もしくはそれに準ずるアドオンなどがあったら教えていただけると助かります。

よろしくおねがいします。

Aベストアンサー

> エクセル2007のセルにhyperlink関数で出力したlinkを開くショートカットキーがあったら教えてください。

「ハイパーリンクの挿入」にはショートカット キーが割り当てられていますが、
開く方には既定では設定されていないようです。
http://www2.odn.ne.jp/excel/xlshortcut.html#SEC2


ですので、ハイパーリンクを開くのにショートカットを使用したい場合は、
ハイパーリンクを開くマクロを作成して、それにショートカットキーを
割り当てることになるかと思います。


手順は以下の通り:
(VBAに慣れている場合は、「2~6」の代わりに、Alt+F11で直接VBEを
 開いて新規マクロを作成しても可)

1)Excel2007を開く
2)『表示』リボンを選択し、右端の『マクロ』の『▼』をクリックして
 『マクロの記録(R)』を選択
3)『マクロの記録』ダイアログが開くので、ショートカット キー(K)などに
 必要な情報を記録し、『Ok』ボタンをクリック
 ※全てのファイルで使用可能にする場合は、『マクロの保存先(I)』に
  「個人用マクロ ブック」を指定します。
4)『表示』リボンの『マクロ』の『▼』を再度クリックし、『記録終了(R)』
 を選択
5)再度、『表示』リボンの『マクロ』の『▼』をクリックし、『マクロの表示(V)』
 を選択
6)『マクロ』ダイアログが開くので、先ほど保存したマクロを選択し、
 『編集(E)』をクリック
7)「Sub マクロ名()」と「End Sub」と書かれた行の間に、以下のような
 コードを記述
 (「'Keyboard Shortcut:~」等、先頭に「'」がついた行はコメントなので、
  不要な場合は削除します)

 a)選択した範囲の先頭1セルのハイパーリンクを開ければよい場合:

  Selection.Hyperlinks(1).Follow

 b)複数セルを選択していた場合は、そこに含まれる全てのハイパー
  リンクを開く場合:

  Dim hLnk As Hyperlink
  For Each hLnk In Selection.Hyperlinks
    hLnk.Follow
  Next

 ※「Hyperlink」と「Hyperlinks」の「s」の有無には意味があるので、
   手入力する際はご注意下さい。

8)「3」で個人用マクロ ブック)にした場合は、Excel終了時に「個人用
 マクロブックの変更を保存しますか?」のメッセージが出るので「はい」
 を選択します。
 それ以外の場合は、開いていたファイル自体を「Excel マクロ有効
 ブック」形式で保存して下さい。


・・・以上です。
これで、指定したショートカットキーでハイパーリンクを開けるようになります。


なお、後からショートカットキーの割り当てを変更することもできます。
http://www.officepro.jp/excelmacro/run/index1.html

> エクセル2007のセルにhyperlink関数で出力したlinkを開くショートカットキーがあったら教えてください。

「ハイパーリンクの挿入」にはショートカット キーが割り当てられていますが、
開く方には既定では設定されていないようです。
http://www2.odn.ne.jp/excel/xlshortcut.html#SEC2


ですので、ハイパーリンクを開くのにショートカットを使用したい場合は、
ハイパーリンクを開くマクロを作成して、それにショートカットキーを
割り当てることになるかと思います。


手順は以下の通り:
(VB...続きを読む

QEnterキーでマクロを起動さす。

Excelの(例)A1のセルに検索値を入力しEnterキーを押すと事前に組まれたマクロが起動する方法を教えて下さい。

又はEnterキーにマクロは設定できませんか?

Aベストアンサー

#4のnojioさんの補足ということでお読みください。(書いているうちにかぶってしまいました。)

Worksheet_Changeがsumi-hamaさんの意図かもしれませんが・・・下記はEnterに対して機能します。


下記コードを標準モジュールに貼り付け、
 Onkey_Set を実行することでEnterキーにマクロが割り当てられます。
 マクロ側で(MacroTest)Sheet1のA1を特定しています。

 Onkey_Off を実行することでEnterキーは元の機能に戻ります。


'Enterキーにマクロを割り当て
Sub Onkey_Set()
  Application.OnKey "{Enter}", "MacroTest"
End Sub

'デモ(Sheet1のセルA1のみで機能させる)
Sub MacroTest()
  If ActiveSheet.Name = "Sheet1" Then
    If ActiveCell.Address(0, 0) = "A1" Then
      MsgBox "Sheet1のセルA1でEnterキーを押しました"
    End If
  End If
End Sub

'Enterキーを元の機能に戻す
Sub Onkey_Off()
  Application.OnKey "{Enter}"
End Sub

#4のnojioさんの補足ということでお読みください。(書いているうちにかぶってしまいました。)

Worksheet_Changeがsumi-hamaさんの意図かもしれませんが・・・下記はEnterに対して機能します。


下記コードを標準モジュールに貼り付け、
 Onkey_Set を実行することでEnterキーにマクロが割り当てられます。
 マクロ側で(MacroTest)Sheet1のA1を特定しています。

 Onkey_Off を実行することでEnterキーは元の機能に戻ります。


'Enterキーにマクロを割り当て
Sub Onkey_Set()
  Applic...続きを読む

Qエクセルでエンターを押すと任意のセルに移動は出来ますか?

エクセルでエンターを押すと任意のセルに移動は出来ますか?
A1のセルでエンターを押すとC1に移動するようにしたいです。
宜しくお願いします^^

Aベストアンサー

No.2の補足に対する回答です

Private Sub Worksheet_Change(ByVal Target As Range)
 Select Case Target.Address(False, False)
  Case "A1"       'このセルが変更されたら---(1)
   Range("C1").Select 'このセルに移動する---(2)
  Case "C1"       'このセルが変更されたら---(1)
   Range("A2").Select 'このセルに移動する---(2)
  Case "A2"       'このセルが変更されたら---(1)
   Range("C2").Select 'このセルに移動する---(2)
  Case Else
 End Select
End Sub

もし、A列を変更した場合に同じ行のC列、C列を変更した場合に次の行のA列というロジックであれば、
Private Sub Worksheet_Change(ByVal Target As Range)
 Select Case Target.Column
  Case 1 'A列が変更されたら---(1)
   Cells(Target.Row, 3).Select 'C列の同じ行に移動する---(2)
  Case 3 'C列が変更されたら---(3)
   Cells(Target.Row + 1, 1).Select 'A列の次の行に移動する---(4)
  Case Else
 End Select
End Sub

No.2の補足に対する回答です

Private Sub Worksheet_Change(ByVal Target As Range)
 Select Case Target.Address(False, False)
  Case "A1"       'このセルが変更されたら---(1)
   Range("C1").Select 'このセルに移動する---(2)
  Case "C1"       'このセルが変更されたら---(1)
   Range("A2").Select 'このセルに移動する---(2)
  Case "A2"       'このセルが変更されたら---(1)
   Range("C2").Select 'このセルに移動する---(2)
  Case Else
 ...続きを読む

Qエクセルの関数 ENTERを押さないと反映されない。。

エクセル2002を使用しています。
関数を使用していますが、入力結果が反映されません。大変困っています。。
関数の末尾にカーソルを持ってきてENTERを押すと、反映されます。
関数は別に難しいものではなく、SUM関数でもCOUNTIF関数でも同様のことが起こっています。新規にファイルを作成しても解決しません。
お心当たりがあれば教えて下さい!!

Aベストアンサー

計算方法が手動になっていると思われます。
ツール→オプション→計算方法タブで自動に切り替えてみて下さい。

QHyperlink関数をクリックしてくれるマクロ

こんにちわ! どなたか教えてくださいませんか?

EXCELのセル“A1”にHyperlink関数が入れてありまして、
隣のセル“B1”に入れた文字を組み込んで、URLを生成し、リンクを作るようになっています。
こんな感じです。

  =Hyperlink("http://●●●"&[B1]&"●●●/")

それで、B1に文字を入れたら、自動的にそのリンク先を開くように、
つまりは、A1にできたリンクをわたしの代わりにクリックしてくれるようなマクロを作りたい
のですが、どうすればいいでしょうか?

いろいろやってみたのですが、どれもエラーになってしまいまして。

どうかよろしくお願いいたします。

Aベストアンサー

HYPERLINK関数はハイパーリンクオブジェクトを生成しないので、通常のマクロではハイパーリンク(ハイパーリンクオブジェクト)として取り扱うことができません。

というワケでチカラワザ:
シート名タブを右クリックしてコードの表示を選ぶ
現れたシートに下記をコピー貼り付ける

private sub worksheet_change(byval Target as excel.range)
if target.address <> "$B$1" then exit sub
activeworkbook.followhyperlink application.evaluate(range("A1").formula)
end sub

A1に埋めておくHYPERLINK関数は,ご質問の通りで書いたのでは間違いなのは,実際に試してみればすぐに確認できますね。正しく作成してください。
B1に文字を記入してEnterすると,マクロが作動します。


人気Q&Aランキング