プロが教える店舗&オフィスのセキュリティ対策術

マクロで別のシートから2つの任意なデータ列を持ってきて、データの統合(EXCEL機能)をしようとしました。マクロの記録で行いました。
自分のPCでは動くのですが、他の人のPCだと以下のエラーが表示されました。

エラー:実行時エラー1004 RangeクラスのConsolidateメソッドが失敗しました。

Sub Macro9()
'
' Macro9 Macro
'

'
Range("B1:C1").Select
Selection.Consolidate Sources:= _
"'C:\Users\12345\Desktop\[カタログ振替費_算出シートNO.2.xlsm]RS国営支データ'!R5C8:R104C10" _
, Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False
End Sub

上記を見ると自分のローカルでしか動かないことはわかるのですが、他のPCでも動かせるよう記述の変更の仕方を教えていただけますでしょうか。

ちなみにOSは、Win10で、エクセルは、2016です。困っています。どなたかお願いしますm(__)m

A 回答 (3件)

"'C:\Users\12345\Desktop\[カタログ振替費_算出シートNO.2.xlsm]RS国営支データ'!R5C8:R104C10"


この「絶対パス」を「相対パス」に直すことで解決すると思います。

・・・というか、外部参照したいファイルと参照しているファイルがどこにあるのかを明確にしておけば良いと思うのは自分だけでしょうか。
    • good
    • 0
この回答へのお礼

C:\Users\12345\Desktop\の部分をはずしたら、うまくいきました。
ありがとうございます。

お礼日時:2018/06/20 10:25

「ThisWorkbook.Path」を使ったらいかがですか?


これはマクロが書き込まれているブックの置いてあるパスになります。
マクロが書き込まれているブックと同じフォルダーに必ず置くならば「"'C:\Users\12345\Desktop\」の部分を「"'" & ThisWorkbook.Path & "\」に変えれば良くなると思います。
    • good
    • 0
この回答へのお礼

C:\Users\12345\Desktop\の部分をはずしたら、うまくいきました。
ありがとうございます。

お礼日時:2018/06/20 10:25

>"'C:\Users\12345\Desktop\[カタログ振替費_算出シートNO.2.xlsm]RS国営支データ'!R5C8:R104C10"



"'" & CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\[カタログ振替費_算出シートNO.2.xlsm]RS国営支データ'!R5C8:R104C10"

かな?
    • good
    • 0

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