EXCEL エクセル

EXCEL エクセル
カテゴリ
ググルヒト
恥晒し/一覧 (10)



2018年1月
 
19 20
21 22 23 24 25 26 27
28 29 30 31      

新着エントリ
Outlook Express 6 でエラー 0x800c0133 (6/6)
EXCEL 自Bookを複製するマクロ (4/19)
EXCEL 勝手にセルの色が塗られる (3/13)
SQL Serverからのメッセージが消えない (12/3)
日本語変換が思い通りにいかない (4/23)
VB コンソールへの文字列復帰 (10/28)
タスクからのバッチファイル(*.BAT)実行結果が0x4 (10/5)
VB 標準モジュールが開かない (9/29)
EeePcの無線LANがつながらない (9/28)
EXCELエクセルVBAでエラー400 (9/23)

新着トラックバック/コメント


アーカイブ
2010年 (5)
9月 (3)
10月 (2)
2011年 (2)
4月 (1)
12月 (1)
2012年 (3)
3月 (1)
4月 (1)
6月 (1)


アクセスカウンタ
今日:26
昨日:33
累計:105,343


RSS/Powered by 「のブログ

[PR]



2012年04月19日(Thu)▲ページの先頭へ
EXCEL 自Bookを複製するマクロ

Q:分からん。

A:そーだねー、じゃーねー♪ (゚o゚)ノシ

Q:えっ、教えてくれよ

A:何を?だ!! 必要な情報だけ発信しろ!!
  さもなくば帰れ!!

  じゃーねー♪ (゚o゚)ノシ

Q:すみません、ちゃんとお伝えします。

  使用中のEXCELブックを保存した際に
  別の場所にあるEXCELブックの内容も同時に更新したいのです。
  どうしたら良いかな?

A:何てことはない、更新したいEXCEL側に計算式を入れたら?
  それで良いではないか?良いではないか?
  どーでもイイことですが、2回言ってみました。

  こんな感じだな、基本中の基本だが…

   =[参照先EXCEL]'参照先シート'!参照先セル

   例) =[WKBOOK]WKSeet!A5 みたいな!?

Q:参照するシート数が10枚以上、参照するセルも5000ヶ所以上ある。
  そんな計算式組み込んだシート作れないし
  誤ってリンク切れとか起こしたら、メンテナンス面倒だし。
  だからマクロで何とかならないか?と試みたわけです。

A:うむ。
  マクロを使おうと考えたところは評価するぞよ。
  で、どんなマクロだ?

Q:編集中のBOOKに保存がかかったタイミングで更新先のEXCELにコピーする。
  簡単に書くと…
----------------------------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ActiveWorkbook.SaveAs Filename:=更新するEXCELの保存先
End Sub
----------------------------------------------
  こんな感じですね。
  ThisWorkBookでSaveが発動されたタイミングで
  別の場所(更新するEXCELの保存先)に上書き保存する。

A:で、どうなった?

Q:更新先のEXCELは作成されるんですが
  原本のEXCELが更新されなくなってしまいました。
  仕方ないので、ThisWorkBook.Save を終わりに付けてみたら
  とりあえず保存はされたんですが...EXCELが異常終了します。

A:当然だ。
  こりゃ、EXCELが壊れるぞよ

Q:どうして異常終了するのですか?

A:秘密だ。

Q:なぜ?

A:ところで、じゃーねー♪ (゚o゚)ノシ

Q:逃げるな!

A:ヒント
  ・パスが変わる。
  ・新たなEXCELが作成される。
  ・マクロは Workbook_BeforeSave のタイミングで実行される。

  これで分からなければ帰れ、じゃーねー♪ (゚o゚)ノシ


=====================

...ということで自分で調べた結果。

結局どういうことか分からんかった。
(理由は改めて後で聞いてみるか...)


ダメじゃん...

今回は回答見つからず orz





[後日の補記]
  上述のマクロでは複製されたEXCEL(別の場所にあるEXCEL)の中にも
  同じマクロが出来てしまうので非常に都合が悪い。
  また異常終了の起因にもなってるっぽい。
  複製されたEXCEL側には、マクロも入らない形にしたいのであるが…




[後日の補記 その2]
  こんなんで、どうだろうか?
----------------------------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets.Copy
ActiveWorkbook.SaveAs Filename:=更新するEXCELの保存先
ActiveWorkbook.Close
End Sub
----------------------------------------------
  編集元ブック内の全シートを別ブックにコピーして
  コピーされたブックに名前を付けて保存する。

  ※コピーの際、画面が多少うるさい動きをしてしまうのだが
   マクロを含まない形でのコピーは実現できた。
   しかし、「更新するEXCELの保存先」に指定するEXCEL名は
   編集元ブックと同じ名前を指定できないのだ。
   ま、それは Close後に変名すれば解決できる話だな。

  ※あと、この方法は標準モジュールは引き継がれないが
   自シートにマクロがあった場合、残ってしまうな。

  もっと簡単・簡素に実現する方法は無いだろうか…














2012年03月13日(Tue)▲ページの先頭へ
EXCEL 勝手にセルの色が塗られる

Q:エクセル壊れたし。

A:壊れてねーし。

Q:セルの色が勝手に塗られちゃうんだよ!
  ほら、こんな感じで…


  ここでセル位置[G2]に入力すると…



  ほら、勝手に色が付くし。
  壊れたし。

A:勝手にセルの色が付くのは仕様だし。
  壊れてねーし。  

Q:そんな仕様、聞いたことねーし!

A:知らないのはお前が悪い!
  ボケが!
  帰れ!
  そして、寝てろ!
  そして、夢でも見てろ!
  そして、夢で解決方法を占え!

Q:何でそうなる… orz


=====================

...ということで自分で調べた結果。




こういう動作を勝手にやってくれる機能が
エクセルには搭載されているらしい。

「ツール」→「オプション」→「編集」タブと開いて



上記のように
「リスト形式および数式を拡張する」…のチェックを外す。



で、先ほどと同様にセル位置[G2]に入力すると…




おぉ!
勝手に色が付く現象が回避された。





ちなみに、何でこんな機能あるの?

ヘルプを見てみると



…ということらしい。





いらんな。




少なくとも俺は使わない...














[後日の補記]
  俺は使わん!とは言ったものの
  実はこの機能、普段の操作で知らぬ間に使ってるっぽいな...

  機能を外した途端、入力のペースがどこかいつもと違う!?
  何が違うかの説明は省略するが、よほど困るようでなければ
  無理にこの機能は外さない方が良さそうだ。













2010年09月23日(Thu)▲ページの先頭へ
EXCELエクセルVBAでエラー400

Q:エクセルのVBAでエラー400が発生。

A:400だけじゃ分からない
  他にも何かメッセージ、出てるだろ!

Q:だから、400しか出てないんだって!


=====================

...ということで自分で調べた結果。

Microsoft Excel Objects の方にこのようなマクロを記述した場合に発生する様子。


でも、こうすればエラーは出なくなった。


ようはsheetを特定できないようなマクロは書くな!...ってことだろう。
これは、覚えておくことにする。

でも、最初から標準モジュール(Module1)に記載しておけば、
エラーにはならないみたいだ。


よく分からんが、エラーを発生させない方法は分かった。



ちなみに、1行づつトレースしたところ別のエラーが出た。



実行時エラー 1004
アプリケーション定義またはオブジェクト定義のエラーです。





よく分からないが、同じ原因だろうな、たぶん。

これについては、また別の機会にでも調べよう...