Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5102 / 13646 ツリー ←次へ | 前へ→

【52601】EXCELでのセルのリンクの動的なパスの割り当てについて かあどきゃぷたー 07/11/21(水) 10:32 質問[未読]
【52631】Re:EXCELでのセルのリンクの動的なパスの割... n 07/11/21(水) 22:05 発言[未読]

【52601】EXCELでのセルのリンクの動的なパスの割...
質問  かあどきゃぷたー  - 07/11/21(水) 10:32 -

引用なし
パスワード
   はじめまして、かあどきゃぷたーと申します。

さて、質問なのですが、
プロジェクトの管理等で
他のブックのシートからリンクを張りたいのですが、
データを持ってきたいリンク先の
シート名、セルは固定なのですが、
ファイルパスやファイル名は、規則性がある違う場所です。
(具体的には、パスに西暦+月のフォルダがある
ファイル名に西暦+月+担当者名が入る)
='\\hoge\hogehoge\[hoge1.xls]hoge2'!$11$22

西暦と月については計算で埋め込んで、
担当者名は該当行のセルを参照してパスをつくり
セルに式を切ることだけでできないのでしょうか?

マクロで出来るとのことで、
参照したサイトのやり方も試してみましたが、
固定では問題ありませんでしたが、やっぱりだめでした。

このあたりについては、あまり詳しくないため、
識者の方々のお知恵を拝借いたしたく、
宜しくお願いします。

【52631】Re:EXCELでのセルのリンクの動的なパスの...
発言  n  - 07/11/21(水) 22:05 -

引用なし
パスワード
   こんにちは。
>担当者名は該当行のセルを参照して...
例えば担当者名がA1:E1...の1行目にあるとして、
A2:E2に式を入れるとします。

通常はLoopして担当者名を参照しながら式を入れるのがラクです。

Sub try1()
  Const path As String = "\\hoge\"
  Dim ym As String
  Dim fL As String
  Dim fR As String
  Dim r As Range

  ym = Format(Date, "yyyymm")
  fL = "='" & path & ym & "\[" & ym
  fR = ".xls]hoge2'!X1"
  For Each r In Range("A2:E2")
    r.Formula = fL & r.Offset(-1).Value & fR
  Next r
End Sub

Loopせず、式自体の文字列をつくる『式』を埋め込んで
あとで値化する事も考えられるかもしれません。

Sub try2()
  Const path As String = "\\hoge\"
  Dim ym As String
  Dim sF As String
  
  ym = Format(Date, "yyyymm")
  sF = "=""='" & path & ym & "\[" & ym & """&A1&"".xls]hoge2'!X1"""
  With Range("A2:E2")
    .Formula = sF
    .Value = .Value
  End With
End Sub

5102 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free