• ベストアンサー

ファイルの呼び出しマクロを・・・

締め切られた質問のものを利用させていただきました ダブルクリックでセルの内容を編集できないので これをシングルクリックにできないでしょうか? この質問のマクロです http://dospara.okwave.jp/qa5248292.html

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 >これをシングルクリックにできないでしょうか? どちらかというと、誤動作の元だから、あまりお勧めしません。これは、ダブルクリックが定番です。元の引用先コードも、もう少し修正が必要のような気がします。 '------------------------------------------- 'シートモジュール '------------------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myPath As String 'パスの登録  myPath = Application.DefaultFilePath 'Excel デフォルトのフォルダ If Intersect(Target, Range("B1:B100")) Is Nothing Then Exit Sub 'B列100行まで If Target.Count > 1 Then Exit Sub If Target.Value = "" Then Exit Sub If Right(myPath, 1) <> "\" Then myPath = myPath & "\" If Dir(myPath & Target.Value) = "" Then Exit Sub 'ファイルの存在のチェック   On Error Resume Next    Workbooks.Open myPath & "\" & Target.Value   On Error GoTo 0 End Sub '-------------------------------------------

putitdevil
質問者

お礼

誤動作までは考えませんでした VBAとマクロっていっしょですよね? 便利なものとはきいてわかってたんですが、こうやって使ってみるといろいろできるのがわかります これからいろいろ勉強してみようと思います ありがとうございました

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんばんは。 >VBAとマクロっていっしょですよね? VBAとマクロ: ------------------------------------------- 「マクロ」というのは、その取り扱い言語は別として、ひとつの作業(タスク)の自動実行を目的とする機能のことです。ひとつの作業を実行できないものは、マクロとは呼びません。例えば、引数を必要とするユーザー定義関数は、マクロの範疇から外れます。 「VBA」(Visual Basic for Application)で書かれたものを総称して、プロシージャと呼び、マクロとは厳密には意味が異なります。また、Ver.4 の「マクロ関数」で書かれたものも、プロシージャで自動実行で作業をするものも、総称してマクロと呼びます。また、ひとつのブックにあるモジュール(=プロシージャを呼び出すためのオブジェクト)群をプロジェクトと呼び、「モジュール」を組み合わせ一貫した仕事をするようにしたものを「システム」と呼んだりします。 ------------------------------------------- (ソース元は、『Office VBAプログラマーズガイド』から) マイクロソフト側では、用語の定義を別けているようです。まあ、どちらでもよいことですが。 一応、マイクロソフト側の内部の一部の開発者たちから、Office にVBAを取り外すことを言っていたのですが、Office のチームリーダから、そのようなことは当面しないと発表されました。

すると、全ての回答が全文表示されます。
  • freetaka
  • ベストアンサー率53% (106/197)
回答No.2

すみません。修正しました・・・ Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim FileDir As String Dim FilePath As String Dim RangeCol As Integer FilePath = "d:\" 'ファイルの保存先までのパス RangeCol = 2 '動作させたいシートの列(左から数えたもの) '設定列のセルをクリックしファイル名が無い場合は処理しない If Target.Column = RangeCol And Target.Value <> "" Then Workbooks.Open FilePath & "\" & Target.Value End If End Sub

putitdevil
質問者

お礼

ありがとうございます参考になりました マクロはあまり詳しくありませんが 動作は確認しました

すると、全ての回答が全文表示されます。
  • freetaka
  • ベストアンサー率53% (106/197)
回答No.1

引用ですみませんが・・・ Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim FileDir As String Dim FilePath As String Dim RangeCol As String FilePath = "d:\" 'ファイルの保存先までのパス RangeCol = 2 'シートの列 '設定列のセルをクリックしファイル名が無い場合は処理しない If Target.Column = 2 And Target.Value <> "" Then Workbooks.Open FilePath & "\" & Target.Value End If End Sub

すると、全ての回答が全文表示されます。

関連するQ&A