![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
セルC5~C1000には「N1309068」の様なN○○○○○○○(半角英数字)の文字が入力されています。
コマンドボタンを押すとセルC5~C1000の範囲が自動でハイパーリンクが設定される様にしたいです。
リンクさせるファイルはデスクトップの「改善シート(リンク用)」のフォルダの中にある「N1309068 KAIZEN」のエクセルファイルです。
セルC5~C1000の範囲に記入した数字を、リンク先のフォルダの中にあるエクセルファイルN○○○○○○○ KAIZEN(半角英数字)の○○○○○○○の数字と一緒のファイルにリンクさせるようにするVBAは、どの様に組めば宜しいでしょうか?
No.1ベストアンサー
- 回答日時:
>「N1309068 KAIZEN」のエクセルファイルです。
ファイルに向けてハイパーリンクを設定するときは、ファイルの「拡張子」まで正しく指定しなければいけません。
N1309068 KAIZEN.xlsxなのかxlsなのかxlsmなのか、実際をキチンと調べ正しくご自分でマクロに反映してください。
手順:
シートに配置したアクティブXコントロールのコマンドボタンのマクロに下記を準備する
private sub CommandButton1_Click()
dim myPath as string
dim h as range
dim WSH as variant
set wsh = createobject("Wscript.Shell")
mypath = wsh.specialfolders("Desktop") & "\"
activesheet.hyperlinks.delete
for each h in range("C5:C1000").specialcells(xlcelltypeconstants, xltextvalues)
if h like "N*" then
activesheet.hyperlinks.add anchor:=h, address:=mypath & h.value & " KAIZEN.xlsx" ’拡張子を正しく設定する事
end if
next
set wsh = nothing
end sub
>コマンドボタンを押すと
エクセルには「フォーム」と「アクティブXコントロール(コントロールツールボックス)」の2種類のコマンドボタンが用意されています。どちらを使っているのかに応じて、正しいマクロの書き振りが違います。
ご相談投稿では、どちらを使っているのか(使いたいのか)正しく情報提供するよう心掛けて下さい。次回以降のご参考に。
この回答への補足
この度は回答して頂き、誠にありがとうございます。非常に助かりました。
拡張子は「xls」ファイルです。今後、相談する場合は詳しく書きたいと思います。
今回のVBAを実際に作動させると、C5~C1000の範囲はハイパーリンクになりました。
アクティブXコントロール(コントロールツールボックス)をクリックし、実行するとC5~C1000の文字の配置が縦が「標準」で横が「下詰め」となり、N○○○○○○○(半角英数字)の記入している文字の下に引いていた罫線が消えてしまいます。
なので、文字の下の罫線が消えず、文字の配置が縦も横も「中央揃え」にするVBAと言うのも出来るのでしょうか?
No.3
- 回答日時:
こんにちは。
書式とか問題までは手を出す気にはなれませんが、ちょっと口をはさみます。
ネットワークドライブ「E:\フォルダX\5係\改善提案\改善シート\改善シート(リンク用)」
#1のmypath に、そのアドレスを入れればいいだけじゃないのですか?
#1さんの書き方は、質問の内容上、やむを得ず、そう書かざるを得なかったからでしょうけれど。
私は、ただ、締められないで、質問が長続きしているようなので、気になりました。
この質問のようなファイル名だけの場合は、わざわざハイパーリンクづけするようなスタイルはしません。もともと、拡張子が同じExcel系なら、そのままテキスト値だけで、以下のコードで開けます。
ハイパーリンクにした後のものには使えませんが、ハイパーリンク自体を削除すれば、いろんな書式の問題も解決するはずです。ファイル名もフォルダー名も正しく入力さえしていれば、ダブルクリックで開けます。
実際は、分っていないと、どこかでつまずきます。
'//該当するシートモジュール
Private Const mPATH = "Your Folder" 'ご自身の指定のフォルダー(モジュールの先頭に書く)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Target.Value = "" Then Exit Sub
If StrComp(Right(Target.Value, 4), ".xls", 1) <> 0 Then Exit Sub
If Target.Hyperlinks.Count > 0 Then Exit Sub
If Dir(mPATH & Target.Value) = "" Then MsgBox "ファイルが見つかりません。", 48: Exit Sub
Workbooks.Open mPATH & Target.Value
End Sub
'//
No.2
- 回答日時:
では回答したマクロの
activesheet.hyperlinks.delete
の一行を削除してください。
それでもダメなら、今のブックからC列をコピー、「まっさらのエクセルブック」のC列に形式を選んで貼り付けの「値」で貼り付け、罫線、書式設定、コマンドボタンを「新しく」設定し、上述の一文を除いたマクロを実行し状況を確認してください。
この回答への補足
補足して頂きありがとうございます。
最後にもう一つ聞きたいのですがデスクトップで無く、ネットワークドライブ「E:\フォルダX\5係\改善提案\改善シート\改善シート(リンク用)」のフォルダの中にあるN○○○○○○○(半角英数字)のxlsファイルをハイパーリンクする場合はどの様にすれば宜しいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/15 16:33
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
エクセル 複数ファイルの一括...
-
フォルダ内のブック全部にパス...
-
エクセルのシートの数を数えた...
-
エクセル(マクロ)のファイル...
-
ファイルを開かずにマクロを実行
-
Accessのaccdbファイルを起動で...
-
VBAでワークブックの名前を変数...
-
accessフォルダを移動したらフ...
-
フォルダ内のexcelファイルを順...
-
エクセルマクロで不特定なファ...
-
【Excel VBA】ファイル名が一...
-
VLookupで参照する範囲を変数で...
-
Excelファイルがマクロを含むか...
-
VBAでフォルダ内の全てのcsv...
-
ワード2007で複数ファイル自動...
-
vlookup関数の引数を変数で指定...
-
【マクロ】名前を保存する際に...
-
EXCELマクロを無効にして開く方法
-
ハイパーリンクの自動設定マクロ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
エクセルマクロで不特定なファ...
-
フォルダ内のexcelファイルを順...
-
VBAでワークブックの名前を変数...
-
エクセル(マクロ)のファイル...
-
エクセルのxls形式からxlsx形式...
-
エクセル 複数ファイルの一括...
-
エクセルのシートの数を数えた...
-
【マクロ】名前を保存する際に...
-
【Excel VBA】ファイル名が一...
-
ファイルを開かずにマクロを実行
-
accessフォルダを移動したらフ...
-
フォルダ内のブック全部にパス...
-
vlookup関数の引数を変数で指定...
-
Excel VBA でファイルが開かれ...
-
ファイルの保存場所を変えたら...
-
Accessのaccdbファイルを起動で...
-
リンク切れチェックを行うマクロ
-
エクセルマクロ 異なるファイ...
-
データ参照先が別ファイルの場...
おすすめ情報