[[20140424114149]] 『標準モジュールについて』(ヤイリ) ページの最後に飛ぶ

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

 

『標準モジュールについて』(ヤイリ)

 Visual Basicから標準モジュールを
 モデル1
 モデル2
 モデル3
 でプログラムを管理していたとします。

 一度保存して、
 起動した際に毎回Visual Basicをクリックしたときに
 常にモデル2を表示させたいときは
 設定で何とかなりますか?

 単純に
 その都度作業するモジュール内からモデル2を選択すれば
 良いだけの話なので
 細かいご質問ですが
 どうぞよろしくお願いします。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


設定なぞ無く、最後に記憶されたものが表示されてしまうかと…。

Excelのヒストリ情報に細工するマクロでも書けば、任意のモジュールを表示できそうですが、
そこまでする内容ではなさそう。
(???) 2014/04/24(木) 14:13


コメントありがとうございます。

基本的に
毎日修正するのはモデル2だけだったので
別の人に頼むときに
すぐにモデル2が表示された方が
(モジュール内の説明を不要にしたかった)
説明しやすかっただけです。
ありがとうございました。

不思議なのは以前はモデル2が記憶されていたのですが
特に設定したわけでもなく
どこかのタイミングで
モデル3が記憶されるようになってしまったので
モデル2に記憶できるのかなと思い投稿してみました。
(ヤイリ) 2014/04/24(木) 14:48


 解決しましたのでご報告させて頂きます。

 一度モデル2を解放し、
 再度モデル2のファイルをインポートすれば
 モデル2が記憶され
 無理やり感はありましたが簡単に対応出来ました。
 また何かありましたらどうぞよろしくお願いいたします。
(ヤイリ) 2014/04/25(金) 09:23

 解決後のようですが、
 >毎日修正するのはモデル2だけだったので 
 の「毎日修正」というのが気になりました。

 修正するのが日付や番号などのデータであれば、セルから情報を取得したり、
 実行時に入力したりすることでコードを変更しないようにできないでしょうか。

 毎回修正無ければならないマクロというのは、そちらのほうを修正したほうが良いように
 思えます。
(Mook) 2014/04/25(金) 11:47

 >毎回修正無ければならないマクロというのは、そちらのほうを修正したほうが良いように
 思えます。

 コメントありがとうございます。
 マクロは完成しております。
 言葉が足らなかったのですが
 マクロ修正というよりは

 毎日の作業で
 マクロ内のファイル名のみ変更するだけです。
(ヤイリ) 2014/04/25(金) 13:34

Mook さんのおっしゃっているのは

 >毎日の作業で 
 > マクロ内のファイル名のみ変更するだけです。

ということが、一般的に異常なことということです。

毎日変更があるファイル名は

1)どこかのセルに入力しマクロプログラムでそのセルからファイル名をとってくる

2)[ファイルを開く]ダイアログボックスでファイルを選択する

のどちらかが一般的と思います。

(ABC) 2014/04/25(金) 15:13


 書いている間に、フォローいただきましたが、言いたかったことはそういうことです。

 例えばファイル名に日付を入れているのであれば、
 ThisWorkbook.SaveAs ThisWorkbook.Path & "\保存ファイル" & Format(Date,"YYYYMMDD") & ".xls"
 とか、作業者の名前を入れるなどであれば「設定シート」 の A1 に名前を書いておけば、
 ThisWorkbook.SaveAs ThisWorkbook.Path & "\保存ファイル_" & WorkSheets("設定シート").Range("A1").Value & ".xls"
 のように書くことができます。

  「今のやり方で誰も困っていません。」
 というのであれば、余計なお世話かもしれませんが、機会があれば再考して
 みてはどうでしょうか。
(Mook) 2014/04/25(金) 15:27

 コメントありがとうございます。
 勉強になります。
 現在のやり方でも特に問題なく
 何年も対応出来ているのですが

 ファイル名20140401_0347

 ファイル名20140402_1322

 ファイル名20140403_5570

 のように毎日日付の後列に
 ランダムな数値が付加されてくるのですが
 ファイル名をいじらずに
 対応出来るでしょうか?

 マクロにあらかじめ

 入力ファイル名 = Cells( )ようにコードを書いて
 セルにファイル名を入力するとかが良いでしょうか?
 せっかくアドバイス頂いたので
 お手数ですがよろしく願い致します。
(ヤイリ) 2014/04/25(金) 15:55

 入力ファイル名
 ということは、読込むファイルがあって、そのファイル名を入力していたのでしょうか?

 であれば、ABC さんが書いているようにダイアログでファイル選択しても良い
 ですし、セルから数値をひっぱても良いです。

 ファイル名中に今日の日付の付いたファイルを取りたいのであれば、
   入力ファイル名 = ThisWorkbook.Path & "\" & Dir(ThisWorkbook.Path & "\ファイル名" & Format(Date(),"YYYYMMDD") & "*.xls*")
 というようにもできます。

 上記はマクロを書いたファイルと同じフォルダから、
  ファイル名[今日の日付]xxxx.xls
 といったファイル名を取得します(同じ条件のファイルが複数あると工夫が必要ですが)。

 いずれにせよ、ファイル名に関する詳細な説明があったほうが良いかと思います。
 (どういったファイルがどこにあるか、同じ日付の付いたファイルが複数あるかなど)
(Mook) 2014/04/25(金) 16:17

まず表題の件から、モジュールの件で
疑問に思った点で
アドバイスいただくために
余計な、内容は紛らわしくなりますので
記載しませんでした。

標題の件は解決していたのですが
せっかくアドバイス頂いたので
質問してしまってすいません。

ここで細かく説明してしまうとかなり長くなって
しまいますし
特に現状で問題なかったのですが
話を整理させて頂きます。

1 VBAのファイルを使用したテキスト入出力

2 文字コード ユニコード(UCS2リトルエンディアン)

他にも色々な問題点や課題があり
ABCさんから
アドバイスいただいた件も
2)[ファイルを開く]ダイアログボックスでファイルを選択する
考えてはいたのですが
ここでの質問とは違ってきます。

以上でアドバイス頂いた、セルにファイル名を記入するが
時間がかからずに良いかと思います。
以前、
セルにファイル名を入力していたので
その方法に戻したいと思います。

せっかくアドバイスをいただいたのですが
表題の件はクリアしてますし
データの関係で、色々と考慮したうえで
現在の方法で対応しています。
とりあえず解決しましたし、
これ以上、お付き合いいただくと
かなり長くなりそうなので
また色々と、練り直す際改めて
ご質問できればと思っております。
ご質問以外のアドバイス
どうもありがとございました。

(ヤイリ) 2014/04/25(金) 19:19


コメント返信:

[ 一覧(最新更新順) ]


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