f(x)=2x+1    Functionのfは関数の意味です

y=2x+1は見覚えあると思います。これはグラフを書くときにつかいました。

学校では、f(x)=2x+1を一次方程式のグラフで習う。y=2x+1は のようなグラフになる。

f関数の引数はバリアント型にしている。これは、引数にセルや数値として受け取るためだ。

f関数の引数はバリアント型にしている。これは、引数にセルや数値として受け取る 。

Function f(x As Long)でも動く。Asの型を指定しないとバリアント型になる。

Function f(x)
    f = 2 * x + 1
End Function

戻り値を調べる

イミディエイトウィンドウで、自作の関数のチェックもでる。f(x)関数は標準モジュールに書いている。数学で習うfはFunction(関数、機能の意味)の先頭文字のfだ。関数は値を返すため計算式の中に書くことができる。一方、Subプロシージャーは計算式の中に入れることはできない。

?は、printの意味、戻り値を返す関数に使う。Subプロシージャの実行は?を入れるとエラーになる。

カテゴリー: Excel仕組み, 3 習熟のためにイミディエイウィンドウを使う | コメントする

Windowsでのファイル処理とVBAライブラリのDir関数

ファイルのコピーや名前の変更、ファイルの一覧などの処理はマクロの記録ではできません。まずは、 VBAのライブラリのDir関数などが使えるようにします。

ファイルとフォルダの関係、Windowsのドライブ、フォルダによる階層構造、パスやカレントフォルダなどWindowsのエクスプローラーのファイル操作と同じことをVBAライブラリでもできる。

Windows10のアドレスバーからフルパスを得る

この2つを例にファイルの操作を説明する。2つのフルパスを示す。
ディスクトップ:C:\Users\take\Desktop
ドキュメント :C:\Users\take\Documents

takeはログインユーザ名。takeはWindowsにログインする時に使った名前に置き換えて下さい。フルパスとは、ドライブ名C:から始まり、¥を区切り文字にしてフォルダを並べ(最後はファイルのこともある)た文字列のことを言う。

¥マークは英語専用のフォントでは\(バックスラッシュ)になることがある。

ディスクトップとドキュメントのフォルダ(Windows10)

ディレクトリ(フォルダ)の構造は、どのフォルダも親ディレクトリ/フォルダは1つだけだが、ディレクトリ/フォルダの下にはいくつでもディレクトリ/フォルダを作ることができる。コマンドプロンプトの2つのドット「..」は、親ディレクトリ/フォルダを意味する。1つのドット「.」は今のディレクトリ/フォルダを意味する。

コマンドプロンプトを実行するとフォルダではなくディレクトリという言葉を使う。以下は、Windowsメニュー/Windowsシステムツール/コマンドプロンプトの画面。

コマンドプロンプトでDirコマンド ディレクトリとはフォルダのこと

VBAのライブラリのFileSystemモジュール(Module、VBEの標準モジュールに相当)に定義されている。

FileSystemのアイコンはModule

Moduleアイコンのメンバーは、Classのようにプロパティは無い。Moduleのメンバーは、SubかFunctionプロシージャで定義されている。入力時に?やカッコが必要かどうかは、入力時の引数のヒントから判断できる。Funcitonプロシージャは、戻り値の型があるので()と戻り値を出力するために?も入力する。

VBAのファイル処理の注意点としてファイルの削除は、ゴミ箱に入らないため復活することができない。このことを意識してバックアップのためにコピーをすること。

カテゴリー: Excel基本操作, 13 ファイル処理、メモ帳とのデータ処理 | コメントする

ExcelマクロとはVBAとExcelオブジェクト

Excelマクロと言っても中身は2つあるかと。

1。Excelマクロ:マクロ記録、Excelのオブジェクト(VBAから使えるライブラリ)
2。VBA:プログラム関係。VisualBasicの最新版?

VisualBasic.Netは別物なので「VisualBasicの最新版」としました。私は、VisualBasic6.0まで使ってました。ExcelVBAなどOfficeのVBAはVisualBasic7.0となるのか。ただ、VisualBasicは開発言語です。VBAのような付録的、Excelの付録、Wordの付録とは違う。インストールするためのツールや単独で動くアプリが作れました。

プログラム言語はライブラリを利用してアプリを作る。例えば、あるプログラム言語がデータベースライブラリを使ってAccessやMySQLなどのデータベースを扱うアプリを作る。

VBAを使うるとExcelオブジェクトが漏れなく付いてくる。お得です。

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

プログラムはExcelで始めよう

プログラマーとして生計を立てるのでは無く、サラリーマンとしてコンピュータを有用な道具にする視点で語ります。私自身、Rubyが好きですが、仕事ではExcelです。

なぜ、なんでExcelなのか?

  1. 会社のパソコンにある->こまめに使える。どこでも使える。
  2. 仕事で使う->目的がある

必要性や便利を感じないと続かない。仕事なら続くでしょう。 何より入力、処理、出力/結果の内容とゆう目標がある。これがないとね。

職業プログラマーじゃ無いのでクラスを作ったり、継承とかしてツールにすることはまずありません。だから、関数、引数、変数とオブジェクオの知識と制御文ができればいい。ややこしくなったらクラス。

  1. 作るのが簡単、複雑になると利用にしくい:関数
  2. 作るには知識がいる。利用するのは簡単:クラス。複雑性の回避まで作る必要なし。利用する知識だけ。

入り口ー>発展

  1. IF,SUMIF関数などのワークシート関数が使えるー>ユーザー定義関数。自作の関数。カスタム関数。
  2. マクロ記録ー>オブジェクト、メソッド、プロパティの理解。片手間である以上これは使います。

まずは、IFなどのワークシート関数は使いましょう。VlookUp関数なんかの難しいのはいりません。マクロで自作すればいいから。また、ピポットテーブル?難しそうなことは回避しましょうね。あんまり頑張らずにわかんないことはわかんないでほっておいて(m(_ _;)m激しく異論あり?)、ややこしいワークシート関数を使い始めたら、早めにVBAのコードになれましょう。

VBAでもプログラム言語の入り口としてはいいじゃない。なんせ仕事の匂いがする。Excelマクロの学習は、VBAとExcelオブジェクトの2対象がある。VBAがプログラム言語でExcelオブジェクトがライブラリに相当する。VBAからExcelオブジェクトを利用するからVBAか見ればExcelオブジェクトがライブラリ(図書館)ね。

  1. VBA仕様の学習ー>イミディエイトウィンドウで調査確認
  2. Excelオブジェクトの理解ー>イミディエイトウィンドウで調査確認

VBAの学習

  1. プログラム言語の仕様、特徴、使い方
  2. プロシージャの作成
  3. 変数とインスタンス
  4. 制御文、条件文
  5. エラー処理
  6. イベント処理
  7. ユーザーフォームの利用
  8. クラスモジュールの利用(きっと使わない。語りますが)

Excelオブジェクトのお勉強

  1. Excelの基本的な操作
  2. 表やデータベースの考え方
  3. マクロ記録でExcelオブジェクトの理解
  4. イミディエイトでExcelオブジェクトモデルの操作
プログラムはExcelで始めよう はコメントを受け付けていません

大根

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