[[20210224101629]] 『他のPCでマクロが動かない』(EMIE) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『他のPCでマクロが動かない』(EMIE)

マクロの記録で作ったシステムを他のPCで動かしたいのですが、動きません。
質問の仕方が下手だと思いますが、教えてください。

今年の春に自分のPCで「統合」を含んだシステムをマクロの記録で作りました。
「R2システム.xlsm」という名前でマクロ有効ブックとして保存、デスクトップに置いています。

Selection.Consolidate Sources:= _
"'C:\Users\●●\Desktop\[R2システム.xlsm]▲▲'!〜〜

と記載されていて、このシステムは自分のPCでも他PCでも動きます。

翌春用に「R3システム.xlsm」を作ろうと思って、「R2システム.xlsm」をコピーしてデスクトップに貼り付け、
名前を「R3システム.xlsm」に変更し、中身も
Selection.Consolidate Sources:= _
"'C:\Users\●●\Desktop\[R3システム.xlsm]▲▲'!〜〜
に変更しました。
これが自分のPCでは動きますが、他PCで動きません。

他PCで 'C:\Users\●●\Desktop が違っているというわけでもなく
バージョンも同じExcel2019で、
セキュリティの設定も「すべてのマクロを有効にする」を選んでいます。

他に考えられる原因はありますでしょうか?

< 使用 Excel:Excel2019、使用 OS:Windows10 >


 ファイルパス部分は、ThisWorkBook.Pathでもよいと思うが
デスクトップのパスの
'C:\Users\●●\Desktop  
の●●はPCで異なるが、●●も変えたのかな?
因みに、WSH(Windows Scripting Host)を使用して
デスクトップのパスを取得する方法も有ります
(はまちゃん) 2021/02/24(水) 11:00

はまちゃん様
返信ありがとうございます。

●●の部分は変更してないです。自PC、他PCどちらも同じです。

ThisWorkBook.Pathを使う場合、

Selection.Consolidate Sources:= 以降はどのように書けばいいでしょうか?

Selection.Consolidate Sources:= _

 "'ThisWorkBook.Path & ▲▲'!〜〜 
であってますか?
(EMIE) 2021/02/24(水) 12:55

Selection.Consolidate Sources:= _
        "'ThisWorkbook.Path & " \ [R3システム.xlsm] \ ▲▲ '!R3C2:R67C3", Function _
        :=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False

と書き換えてみましたが、
「型が一致しません」とのエラーが出ました;;
(EMIE) 2021/02/24(水) 13:21


 横から失礼します。

 参考です。

Sub test()

 Dim a As String
  a = "aiueo"
  MsgBox a & vbCrLf & "a"
End Sub
(OK) 2021/02/24(水) 13:53

 ""で囲まれたものは文字列になります。変数名を""で囲ってしまったら、変数の名前の
 文字列が出来るだけです。

 また
 「'」の後の文は式として評価されません。大抵は、コードの注釈などを「'」の後に入れ
 ます。
(OK) 2021/02/24(水) 14:09

OK様

返信ありがとうございます。

VBAの知識が全くなく、人の真似と自分なりの解釈で作ったものなので
""のことや変数など知らずに作っていました。
(マクロの記録で作って、マクロの表示で出てきたものを触っているだけの素人です。)

よければ、""や'が正しい位置のものを教えてください。
(EMIE) 2021/02/24(水) 14:27


 「統合」はやったことがないのでネット検索の結果
 へのリンクだけです。
 ↓が参考になるかもしれません。

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10211153145?__ysp=Q29uc29saWRhdGUgU291cmNlcyDku5bjga7jg5bjg4Pjgq8%3D
(OK) 2021/02/24(水) 15:39


 >       "'ThisWorkbook.Path & " \ [R3システム.xlsm] \ ▲▲ '!R3C2:R67C3", Function _
 >       :=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False

 この部分をメモ帳に張り付けて、合っているのか自分で確認してください。
 私には、適当にちょっといじって動きません。
 にしか思えません。

(BJ) 2021/02/24(水) 20:39


OK様

教えていただいたリンク先は、私も自分で検索していた時に見つけて真似をしながら何パターンか試してみた書き方でした。

"や'など勉強不足で他の方の気分を害すようなので、せっかく教えていただいているところでしたが
これ以上の質問は控えます。

ご教授ありがとうございました。
(EMIE) 2021/02/25(木) 08:50


BJ様

書いていただいている方法も、すでに自分でも調べて、何パターンか試してはいるのですが、
うまくいきませんでした。

R2システムはVBAの本を買って作ったものです。
しかし、Thisworkbook.Pathのことは書いていなかったのでマクロの記録で作ったシステムでした。

自分で作ったものが自分でわからなくなって恥ずかしい限りです。
が、私にとってはVBAは難しいもので、時間をかけて作ったものだったので
「ちょっといじっただけ」に見え、私の質問がご気分を害されたのなら、すみません。

これ以上の質問を控えます。

(EMIE) 2021/02/25(木) 09:01


>翌春用に「R3システム.xlsm」を作ろうと思って、
>「R2システム.xlsm」をコピーしてデスクトップに貼り付け、
>名前を「R3システム.xlsm」に変更し、

ということは統合元は、自ブックではないのですか

 Sub test()
    Dim 統合元 As String

    統合元 = Worksheets("▲▲").Range("B3:C67").Address(, , xlR1C1, True)

    Selection.Consolidate _
                Sources:=統合元, _
                Function:=xlSum, _
                TopRow:=True, _
                LeftColumn:=True, _
                CreateLinks:=False

 End Sub

(マナ) 2021/02/25(木) 09:59


 >書いていただいている方法も、すでに自分でも調べて、 >書いていただいている方法も、すでに自分でも調べて、何パターンか試してはいるのですが、 
 >うまくいきませんでした。

 質問者側の言う色々試しているは信じてないですけど。

 >       "'ThisWorkbook.Path & " \ [R3システム.xlsm] \ ▲▲ '!R3C2:R67C3", Function _
                                ^ ^                 ^ ^    ^
                               ↑ ↑               ↑ ↑   ↑
                         ここらフォルダ名やファイル名に本当にスペースがあるんですか?
(BJ) 2021/02/25(木) 13:01

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.