dポイントプレゼントキャンペーン実施中!

下記より質問させて頂いた内容の続きになります。(補足上限達した為)
https://oshiete.goo.ne.jp/qa/9768603.html

---------------------------------------------------------------------------------------------------------tatsu99さまよりご回答いただいた件、回答いたします。

>>№37で実行しましたところ、こちらで記載頂いたエラーがでました。。。
>では、本当に、指定されたファイルがないということになります。
>拡張子も含めて、合ってますか。
>管理シートでAAA.xlsm を指定し実際のファイルはAAA.xlsxだったなどということはないでしょう>>か。
→拡張子は相違ありません。

>もし、間違いなければ、
>あなたが指定したファイルが間違いなく存在するというエビデンス(証拠)の提示をお願いします。
>添付図の①のように、管理シートで、指定したD2,E2の内容の画像
>添付図の②のように、上記のファイルが存在するディレクトリに移動し、
>コマンドプロンプトで、dir を実行し、指定したファイル名が表示されることの確認。
>(特に、赤字で囲んだ箇所が、間違いないか確認し、その箇所を含んだ画像を提示しください)
>鮮明な画像の提示をお願いします。
>第三者がみれば、間違いに気づく可能性があります。
> 操作で不明な点があれば、補足ください。
→指定したファイルが表示されませんでした。
画像添付いたしますので、ご確認願います。
---------------------------------------------------------------------------------------------------------

「元データ(ピボッド)を開かずマクロで更新」の質問画像

質問者からの補足コメント

  • コマンドプロンプトの画像添付いたします。
    ※すみません、PC情報となる箇所は黒く塗りつぶしています。

    「元データ(ピボッド)を開かずマクロで更新」の補足画像1
      補足日時:2017/06/07 11:36
  • №4で№5の質問をしております。
    文字数の兼ね合いでこちらに続きを記載いたします。

    ②の件
    実行時エラー’53’
    ファイルが見つかりません。

    '売上明細ブック名設定
    Uri_path = Jis_folder & "\" & Uri_book
    MsgBox ("ファイル名<" & Uri_book & ">") '追加①
    MsgBox ("フルパス名<" & Uri_path & ">") '追加②
    MsgBox (GetAttr(Uri_path)) '追加③

    No.5の回答に寄せられた補足コメントです。 補足日時:2017/06/08 17:16
  • ※コマンドプロントの画像添付します。

    「元データ(ピボッド)を開かずマクロで更新」の補足画像3
    No.15の回答に寄せられた補足コメントです。 補足日時:2017/06/09 10:07
  • サンプル画像添付します。

    「元データ(ピボッド)を開かずマクロで更新」の補足画像4
    No.24の回答に寄せられた補足コメントです。 補足日時:2017/06/14 15:54

A 回答 (26件中21~26件)

→ご教授頂きましてありがとうございます。

ファイル指定で今回ご教授頂いたマクロでは無事エラーが出ず集計できました。
回答:とりあえず、その方法で今後作業を進めてください。
他の問題点が全て解決したのち、改めてこの問題に取り組みましょう。

>ただ、最後までエラーなく集計できたと思ったのですが中身を確認しましたところ特定の集計条件分しか集計できておりませんでした。
回答:具体的には、どの項目が集計できて、どの項目が集計できなかったのでしょうか。

>ちなみに確認しましたところピボッドの各部の新規列が1か(空白)という表示になっております(元データに数式が入っている列の為?)
>それが原因なのでしょうか?
回答:新規列が1であれば、実績の新規 に集計されます。
新規列が空白であれば、実績の既存 に集計されます。

>※ちなみに、前年に関しては現在マクロ上””となっておりますが既存のみなので(空白)をカウントするようになりますでしょうか?
回答:はい、カウントします。
集計項目で前年を指定すれば、新規列が空白のもののみを集計します。

ちなみに、処理時間はどのくらいかかりましたか?(本番データと異なる場合は、その旨も教えてください)
    • good
    • 1
この回答へのお礼

ご返信が遅くなり申し訳ありません。
下記、回答いたします。

>>→ご教授頂きましてありがとうございます。ファイル指定で今回ご教授頂いたマクロでは無事エラーが出ず集計できました。
>回答:とりあえず、その方法で今後作業を進めてください。
>他の問題点が全て解決したのち、改めてこの問題に取り組みましょう。
→承知いたしました。お手数をおかけいたしますが引き続き宜しくお願いいたします。

>>ただ、最後までエラーなく集計できたと思ったのですが中身を確認しましたところ特定の集計条件分しか集計できておりませんでした。
>回答:具体的には、どの項目が集計できて、どの項目が集計できなかったのでしょうか。
→既存の「(空白)」をカウントしていない為、うまく集計できていないようです。

>>ちなみに確認しましたところピボッドの各部の新規列が1か(空白)という表示になっております(元データに数式が入っている列の為?)
>>それが原因なのでしょうか?
>回答:新規列が1であれば、実績の新規 に集計されます。
>新規列が空白であれば、実績の既存 に集計されます。
→ご回答いただいた内容からすると""、空白ではなく(空白)なので集計されないようですね。

>>※ちなみに、前年に関しては現在マクロ上””となっておりますが既存のみなので(空白)をカウントするようになりますでしょうか?
>回答:はい、カウントします。
>集計項目で前年を指定すれば、新規列が空白のもののみを集計します。
→上記に同じくということですね。。。

>ちなみに、処理時間はどのくらいかかりましたか?(本番データと異なる場合は、その旨も教えてください)
→テストとして2ファイルで処理をしましたが、29.51563秒でした。

お礼日時:2017/06/08 10:12

すみません。

これから出かけます。戻りは4時頃の予定です。
もし、解決しなければ明かなければ、直接、実績ファイル名を指定し、それを開くようにして、
とりあえず、試験をすすめたいと思います。
以下のように、してください。

'売上明細ブック名設定
Uri_path = Jis_folder & "\" & Uri_book
MsgBox ("ファイル名<" & Uri_book & ">") '追加①
MsgBox ("フルパス名<" & Uri_path & ">") '追加②
' MsgBox (GetAttr(Uri_path)) '追加③
' If Dir(Uri_path, vbNormal + vbHidden) = "" Then
' MsgBox (Uri_path & "が存在しません")
' Exit Sub
' End If
Uri_book = "2016.xlsx" '追加④
Uri_path = "C:\TESTDIR\2016.xlsx" '追加⑤

If MsgBox(trg_yyyy & "年" & trg_mm & "月の" & trg_mode & "を" & Uri_book & "から集計します", vbOKCancel) <> vbOK Then Exit Sub

追加③とIf DirからEnd if迄をコメントアウトします。
そして、④と⑤を追加します。
④は、実績ファイルのブック名
⑤は、実績ファイル・ブックの完全パス名
です。両方とも、正しく、記述してください。
正しければ、ブックがオープンできます。
誤っていれば、4,5行あとのところの
'売上明細ブック名オープン
Workbooks.Open Uri_path
の箇所で、エラーがはっせいします。その場合は、ブックの完全パス名
を正しく見直して、設定してください。
この回答への補足あり
    • good
    • 1
この回答へのお礼

うーん・・・

ご教授頂きましてありがとうございます。
下記、質問させてください。

> 以下のように、してください。
>'売上明細ブック名設定
※中略省略させていただきます。

>追加③とIf DirからEnd if迄をコメントアウトします。
>そして、④と⑤を追加します。
>④は、実績ファイルのブック名
>⑤は、実績ファイル・ブックの完全パス名
>です。両方とも、正しく、記述してください。
> 正しければ、ブックがオープンできます。
> 誤っていれば、4,5行あとのところの
>'売上明細ブック名オープン
>Workbooks.Open Uri_path
>の箇所で、エラーがはっせいします。その場合は、ブックの完全パス名
>を正しく見直して、設定してください。
→ご教授頂きましてありがとうございます。ファイル指定で今回ご教授頂いたマクロでは無事エラーが出ず集計できました。
ただ、最後までエラーなく集計できたと思ったのですが中身を確認しましたところ特定の集計条件分しか集計できておりませんでした。
ちなみに確認しましたところピボッドの各部の新規列が1か(空白)という表示になっております(元データに数式が入っている列の為?)
それが原因なのでしょうか?
※ちなみに、前年に関しては現在マクロ上””となっておりますが既存のみなので(空白)をカウントするようになりますでしょうか?

お礼日時:2017/06/07 16:12

No2のコメントの追加ですが、


C:\users\XXX\DeskTop\Test\実績 ではなく
C:\users\XXXのディレクトリ下でdirコマンドを実行しているように見えます。

C:\users\XXX\DeskTop\Test\実績 のディレクトリ下でdirコマンドを実行してください。
    • good
    • 1
この回答へのお礼

№5の件で質問です。
回答頂いたあと実行した際は、エラーが出ずに処理できたのですが下記エラーが出てしまいました。
-------------------------------------------------------------------------------------------------------
①下記モジュール記載した場合、2017で設定すると下記エラーができます。
※2016.xlsxで設定するとエラーは出ません。
☆実行時エラー’1004’
申し訳ございません。C:\TESTDIR\実績\2017.xlsxが見つかりません。名前が変更されたか、移動や削除が行われた可能性がありますとでます。

'売上明細ブック名設定
Uri_path = Jis_folder & "\" & Uri_book
MsgBox ("ファイル名<" & Uri_book & ">") '追加①
MsgBox ("フルパス名<" & Uri_path & ">") '追加②
' MsgBox (GetAttr(Uri_path)) '追加③→ここにエラーが出ます。
' If Dir(Uri_path, vbNormal + vbHidden) = "" Then
' MsgBox (Uri_path & "が存在しません")
' Exit Sub
' End If
Uri_book = "2017.xlsx" '追加④
Uri_path = "C:\TESTDIR\実績\2017.xlsx" '追加⑤

②下記モジュール記載した場合、下記エラーができます。
※もともと、これがエラーになってしまうので①をご教授頂いたと認識しています。

'売上明細ブック名オープン
Workbooks.Open Uri_path→ここにエラーがでます。
Workbooks(Uri_book).Activate
'ピボットデータ読み込み

※補足に続きを記載いたします。

お礼日時:2017/06/08 17:15

No1の


>2)実績フォルダがデスクトップに作られています。その為、個人情報がはいり、それを塗りつぶしているため、
>こちらでは、本当にそのフォルダか、わかりません。また、このフォルダは、空白を含んでいるため、正しくフ>ァイルを保持できません。(マクロでは空白を含むフォルダが指定されることを想定していません)

上記の件ですが、念のため、こちらで、空白を含んだフォルダを作成し、そのフォルダで試験しました。結果は、正しく処理できました。(エラーにはなりませんでした)
よって、上記については、訂正いたします。(空白を含んだフォルダでも処理可能です)
しかしながら、運用時は、空白を含んだフォルダは、いろいろと
問題を起こしやすいので、使わないようにお願いします。
    • good
    • 1
この回答へのお礼

空白を含むフォルダの件、承知いたしました。

お礼日時:2017/06/07 14:39

すみません。


>→指定したファイルが表示されませんでした。
これを見落としていました。
間違いなく、下記のディレクトリ下でdirコマンドを実行しましたか?
C:\users\XXX\DeskTop\Test\実績
(こちらでは、塗りつぶされているので確認できません)
もし、そうであれば、かならず、2016.xlsxが表示されるはずです。
    • good
    • 1
この回答へのお礼

うーん・・・

ご返信が遅くなり、申し訳ありません。

№1にて「C:\TESTDIR」というフォルダを作成いたしました。

>間違いなく、下記のディレクトリ下でdirコマンドを実行しましたか?
>C:\users\XXX\DeskTop\Test\実績
>(こちらでは、塗りつぶされているので確認できません)
>もし、そうであれば、かならず、2016.xlsxが表示されるはずです。
→申し訳ありません、ディレクトリ下なのですがコマンドでいろいろ調べたのですが
うまくできません。。。大変お手数ではございますが、ご教授頂けますでしょうか?

お礼日時:2017/06/07 14:37

2点問題があります。


1)2016.xlsxを指定しているが、dir コマンドで表示された結果に 2016.xlsxが表示されていないことです。これでは、エビデンスになりません。
2)実績フォルダがデスクトップに作られています。その為、個人情報がはいり、それを塗りつぶしているため、
こちらでは、本当にそのフォルダか、わかりません。また、このフォルダは、空白を含んでいるため、正しくファイルを保持できません。(マクロでは空白を含むフォルダが指定されることを想定していません)

C:\TESTDIRまたはC:\TESTDIR\TEST
等のようにフォルダを作ってください。
そして、間違いなく、そのフォルダに移動し、2016.xlsxがdir コマンドで表示されることを確認してください。
    • good
    • 1

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