マクロ記録の限界?

「相対参照で記録」これを使うとマクロ記録はもっと使える。

セルのコピーやデーターの入力を複数のセルに対して操作したマクロ記録。これをコードを使おうとしたとき、セルが固定させれているため汎用的に使えないことに気づく。これは最初に気づくマクロ記録の限界でしょう。

カテゴリー: Excel仕組み | コメントする

YouTubeって自分が放送局を持つとゆう考え

なんだな。そうゆう革命的な考えなんだ。って気付く今日この頃。20年遅い。

ここブログだけどTwitterツイットみたい。ツイットより短い。

カテゴリー: とりあえず | コメントする

Excel本体とVBEの切替、初めからあるオブジェクト変数

VBEを開いた状態で、すでに以下のオブジェクトが使える。これらが初めからあるオブジェクト変数です。

  1. Sheet1,Sheet2などExcelのワークシート
  2. ThisWorkbook:ワークブック、xlsファイルのこと

Office製品では、起動した時点でOfficeのオブジェクトに対応するコードが書けるモジュールが見える状態になっている。見えるということはオブジェクト変数を宣言しなくてもいつでも使える変数を用意してくれている。
VBEのオブジェクトとExcel本体の関係は次図のように確認できる。ワークシートごとにコードが書ける。ThisWorkbookはxlsなどの拡張子のファイルのこと。Sheetの上位のオブジェクトでThisWorkbookワークブックが無いとSheet1などは存在できない。

ThisWorkbookは、ワークブック、具体的にはBook1.xlsなどのExcelのファイルのこと。Excelのファイルの中にワークシートがあるのでThisWorkbookの「オブジェクトの表示」はワークシートのどれかに飛ぶ。ワークブックとワークシート。ブックはファイルのこと。

カテゴリー: Excel基本操作, 1 「開発」タブとVBE | コメントする

マクロ=Excelオブジェクト+VBA

です。

VBAは、プログラム言語です。Excelマクロではありません。VBA言語でExcelオブジェクトを処理したらマクロです。

マクロは操作手順の記録なので、何らかの言語で書いて動かす。Excelマクロの場合は、付属のVBAを使うのが一般的で、ExcelマクロとなるとExcelオブジェクトをVBAのコードで処理手順を書く。

VBA言語にもれなく巨大なExcelオブジェクト(ライブラリ)が付いている。っていうのが売りですね。

カテゴリー: 1 「開発」タブとVBE, Excel仕組み | コメントする

マクロを勉強するなら常にマクロが有効なファイルに設定しよう

現在のExcelは、ファイルの拡張子がxlsmでないとマクロが消えてしまう。うっかりxlsxで保存して作ったマクロが無くならないように保存するファイルの種類を常に「Excelマクロ有効ブック(*.xlsm)」にする。Excel本体のメニュー/ファイル/オプションで設定する。

保存ファイルの種類の設定。マクロ有効ブックxlsmの拡張子を選ぶ

Excel97-2003のブックは同じ拡張子でマクロが保存でる。

もし、保存ファイルをxlsmの拡張子にしてないとせっかく書いたコードを飛ばしてしまうことがあるので以下のメッセージが出た時は用心して。コードを書いたのにxlsxの拡張子のままで保存しようとすると出てくる。「はい(Y)」のままエンターキーを押すとコードが飛びます。

カテゴリー: Excel基本操作 | コメントする