アプリ版:「スタンプのみでお礼する」機能のリリースについて

マクロ初心者です。
デスクトップ上にCSVファイルを出力し、それをエクセルに取り込んで、
そのデータを見やすく加工するマクロを作りました。
自分のパソコンだとうまく実行できますが、
社内の他の人のパソコンだとできません。

CSVのデータは、共有のオラクルからデータを出力しているので、同じものです。

実行しようとすると、
「実行時エラー1004
 外部データ範囲を更新するためのテキスト ファイルが見つかりません
 テキスト ファイルが移動または名前が変更されていないことを確認し、
 再度実行してください」

と言われ、
デバッグするとVBAで

.Refresh BackgroundQuery:=False

が黄色くなっています。

どうすればうまくいきますか?
教えてください。よろしくお願いします。

A 回答 (2件)

こんばんは。



> 外部データ範囲を更新するためのテキスト ファイルが見つかりません

それは、ファイル名が取れていません。

>共有のオラクルからデータを出力しているので、
というと、共有フォルダか何かですか?

ファイル名の指定をどのようにしているかは分かりませんが、

FileName = Application.GetOpenFilename("CSV ファイル(*.csv),*.csv")

一度、このような方法で、ファイル名を取って、

ActiveSheet.QueryTables.Add(Connection:= "TEXT;" & FileName, Destination:=Range("A1"))

としてみたらいかがですか?

また、記録マクロで作った、QueryTables をお使いになっているのだと思います。QueryTable は、初心者の方でも、ほとんど手を入れることがなく、マクロが作れます。

この種のマクロで気をつけるのは、2点あります。

マクロの最後に、

ActiveSheet.UsedRange.QueryTable.Delete

と入れて、QueryTable を削除したほうが、何かと自由度が高くなります。

もうひとつは、なるべく、列の自動調整はやめたほうがよいようです。

AdjustColumnWidth = False


今のところ、この程度です。なお、これで分からないようでしたら、コードを出してください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
すみません、自己解決しました。
外部データの取り込みまでは手動ですることにしました。
お礼が遅くなり申し訳ありませんでした。

お礼日時:2006/08/22 15:45

C:\Documents and Settings\ユーザー名\デスクトップ


のように記述されてる部分があるハズなので、そこを実行環境に合わせて可変させるようにします。

マクロを全部載せてみたらどうでしょう?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
すみません、自己解決しました。
外部データの取り込みまでは手動ですることにしました。
お礼が遅くなり申し訳ありませんでした。

お礼日時:2006/08/22 15:45

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

このQ&Aを見た人はこんなQ&Aも見ています