• 締切済み

Excelマクロ

Excelマクロを使用して、ハイパーリンクのリンク先パスを変更しようとしております。 一旦、クライアントPCで変更しその後、ネットワークの別のPCでsaveし再度、起動させると相対パスに変更されてしまいます。 絶対パスで保持する方法はないでしょうか。 ご参考までに記述したマクロの一部です。 ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=パス & Cells(行, 2), TextToDisplay:=CStr(Cells(行, 2)) 何か良い方法があれば、ご教示をお願いします。

みんなの回答

回答No.2
全文を見る
すると、全ての回答が全文表示されます。
  • iw_steel
  • ベストアンサー率27% (50/183)
回答No.1

行き先パスが変数ならAddress:=パス & Cells(行, 2)でよいのでしょうが そうでないならAddress:="パス" & Cells(行, 2)じゃないでしょうか

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

関連するQ&A

  • 【エクセル】VBAでハイパーリンクそうさ

    VBAでハイパーリンクのマクロを組んでいます。 A列にホームページ名が50行(シートによってまちまち)くらい並んでいて、 B列に、それに対応するURLが記入されています。B列は空白のところがちらほ らあります。 A列に、A列の表示(ホームぺジ名)のまま、B列のURLでハイパーリンクを張りたい です。リンクは貼れたんですが、ホームページ名がどうやれば表示できるかわかり ません。教えてくださいお願いします。 ダメダメですが、一応自分で書けたところまでを載せておきます。 Sub ハイパーリンク() Dim i As Integer Dim j As Integer j = 50 For i = 1 To j Sheets("Sheet1").Select Cells(i , 1).Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _ Cells(i , 2), TextToDisplay:="" Next i End Sub としました。

  • マクロを使ってハイパーリンクを作りたい

    エクセルで下記作業をマクロで行いたいのですが、 途中までつくれたのですが、うまくいきません (1)sheet2をコピーしてsheet2(2)を作る (2)sheet2(2)のsheet名を任意の名前(例222)にかえる (3)sheet1の任意のセルから新しく作った222へハイパーリンクを張る 下記のようなマクロを作りましたが ハイパーリンクを張るとことでうまく行きません どうすればよいのでしょうか。。。 助けてください sub 新しいシートの追加() 'dim sheet名 as string シート名 = InputBox("新しいシート名を入力してください", "シート名の指定") If シート名 <> "" Then Sheets("Sheet2").Select Sheets("Sheet2").Copy After:=Sheets("Sheet2") ActiveSheet.Name = シート名 Sheets("Sheet1").Select Range("A3").End(xlDown).Offset(1).Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ シート名 TextToDisplay:=シート名 Selection.Hyperlinks(1).SubAddress = シート名 End If End Sub

  • ExcelでのHyperlink

    PCのHDに存在するファイルのリストをExcel2010につくりました。 ファイル名に、Hyperlinkを埋め込んで、クリックすることで、当該ファイルを見ることができるようにしたのですが、何故か、65531個のファイルまでしか、HyperLinkを埋め込むことができません。 試しに、先頭の10個のHyperlinkを削除すると、65532番目の行から、10個のhyperlinkを埋め込むことは可能でした。 これは、Excelの制限なのかと思いますが、それならそれで、解除、或は、変更することができるのではないかと考えます。 サジェスチョンをお願い致します。 尚、VBAは、下記のようなものを使っています。 For i = 1 To RowEnd Hyperlinks.Add Anchor:=cells(i,1), Address:=Cells(i, 2).Value & "\" Cells(i, 1).Value, TextToDisplay:=Cells(i, 1).Value Next cells(i,1).value ----- file名 cells(i,2).value ----- path名

  • マクロでハイパーリンクを設定するには

    いつもお世話になります アクティブシート内でハイパーリンクを設定したいのですが、どうしても巧くできません シート名 = ActiveSheet.Name で、シートの名前を取得して(アクティブシート名は”9月”です) ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= "シート名" & "!A477", とするとリンク先が[9月A477]にならず [シート名A477]になってしまいます どこが悪いのでしょうか WINXP エクセル2003

  • エクセルのマクロを使って・・・

    見積書を作成するマクロを作っているのですが、シートの追加がうまくいかず困っています。 見積書を作る際に、明細を入力する行が足らない時に、あらかじめ、作ってある『明細マスター』と言う名前のシートから、明細書をコピーして新しいシートを挿入して、そこに貼り付けると言う作業を、最大で“明細書(1)~(5)”5枚のシートを追加できる…と言う、マクロを作りたいのですが… 追加する枚数はその都度、違うそうなので、1回実行すると、『明細書(1)』が追加され、2回目の実行で『明細書(2)』が追加・・・・・ と言うようなマクロを作りたいのですが・・・ Sub 明細書() Worksheets.Add After:=ActiveSheet ActiveSheet.Name = "明細書(1)" Sheets("明細マスター").Select Cells.Select Selection.Copy Application.CutCopyMode = False Selection.Copy Sheets("明細書(1)").Select Cells.Select ActiveSheet.Paste Range("B2").Select End Sub 上記のマクロで、一枚だけの追加だと明細書が追加されるんですが、それを最大5枚まで追加すると言うマクロが分かりません。 質問が、分かりにくかったら申し訳ありませんが、よろしくお願いいたします。

  • EXCEL VBA で実行時エラーが出ます。

    こんばんは。 エクセルのA列の1~40000行にhttp://www.google.co.jpへのリンクを設定する単純なコードですが、毎回65530行まで行くと「実行時エラー'1004'」が発生します。 (65530はInteger型の倍数に近いかと思いますが、どうなんでしょうか?) 環境はMacのブートキャンプでWindows10Home、Office365の最新版にアップデートしてあります。 よろしくお願いします。 Sub test() Dim i As Long For i = 1 To 80000 ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), _ Address:="http://www.google.co.jp", _ TextToDisplay:="■" Next i MsgBox "完了" End Sub 通報する

  • マクロが上手く組めない

    各シートの特定のセル(1,25)にINDEXシートのハイパーリンクを 設定したいのですが、「オブジェクトが存在しません」 とエラーが表示されてしまっており、どのように修正すればいいのか 分からず、困っております。何故エラーが出たのかについてご教授頂けると幸いです。 私の書いたソースコード ********************************** ********************************** Sub INDEXLINK() Dim w As Worksheet Set w = Sheets("INDEX") Dim i As Long For i = 1 To ActiveWorkbook.Worksheets.Count Worksheets(i).Hyperlinks.Add Anchor:=Worksheets(i).Cells(1,25), Address:="", SubAddress:=w & "!c1", TextToDisplay:=w.Name Next End Sub

  • V2005からハイパーリンク(excel2003)の設定

    現在VB2005からエクセルのハイパーリンクを設定しようとしているのですが、エラーが出て困っています。 処理は以下のとおりです。 xlSheet.Hyperlinks.add( _ Anchor:=xlSheet.Range("A1"), _ Address:="ttp://...", _ TextToDisplay:="test") エラー内容 パラメータが間違っています。 Anchorの設定が間違っているみたいなので、 いろいろ試してはいるのですが、よく分かりません。 ご教授お願いします。

  • エクセルVBAで教えてください。

    サイトで既出のコードを若干変えて下のようにして使っています。 下のコードでダイアログを呼び出し、フォルダを指定して、ハイパーリンクでそのフォルダを開くようになっているのですが、ファイルそのものを指定して、ハイパーリンクでファイルを開くようにするにはどうすればいいでしょうか。下のコードの一部を変えれば可能であれば、下のコードを踏襲して教えていただければ有難いです。 よろしくお願いします。 Sub hyperlink() Dim Fol As Object Dim fp As String Set Fol = CreateObject("Shell.Application"). _ BrowseForFolder(0, "フルパスを取得します。ハイパーリンクにしたいフォルダを指定してください。", 0) If Not Fol Is Nothing Then Range("IV1").Value = Fol.Items.Item.Path End If Application.ScreenUpdating = False Range("IV1").Copy Range("A65536").End(xlUp).Offset(1).PasteSpecial xlPasteValues fp = Range("A65536").End(xlUp).Value ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=fp, TextToDisplay:=fp Application.CutCopyMode = False Range("IV1").ClearContents Application.ScreenUpdating = True MsgBox "ハイパーリンクを設定しました。" End Sub

  • マクロでハッパーリンク2

    先日、教えて頂いたマクロですが シートの名前を数字または英字(例AAA or 123)のみにすると、うまくいきますが ハイフンを途中で入れると(例ABG-352 or ABCD-03-005)うまくリンクがいきません どこをどこを直せばいいのでしょうか Sub 新しいシートの追加() Dim シート名 As String シート名 = InputBox("新しいシート名を入力してください", "シート名の指定") If シート名 <> "" Then Sheets("sheet2").Copy After:=Sheets("sheet2") ActiveSheet.Name = シート名 Sheets("sheet1").Select Range("B3").End(xlDown).Offset(1).Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", _ SubAddress:=シート名 & "!A1", TextToDisplay:=シート名 End If End Sub

専門家に質問してみよう