一般社団法人 全国個人事業主支援協会

MEMBER メンバー

  • 今回はExcelマクロ(VBA)の繰り返し処理に関して③です。

     

    Do While文

    条件を満たしていたら(真:trueの間)Loopの中に入る。満たさなかったらLoopを抜ける。

    ※条件をミスるとずっと続くこともあるので注意。

     

    Do while 条件式(例:i

  • 今回はExcelマクロ(VBA)の繰り返し処理に関して②です。

     

    For each文

    For each i In Array or  Workbook or  Worksheets

    Next あれば次にいく

     

    Inの後ろの配列(もしくはワ[…]

  • 今回はExcelマクロ(VBA)の繰り返し処理に関してです。

     

    For each文とは、持っている全部の要素(全部の配列)に対して、すべてを見る繰り返し文のこと[…]

  • 今回はExcelマクロ(VBA)のファイルの開く/閉じるの処理に関してです。

     

    他のExcelを開いて、何らかの処理を実行した後に、そのブックを閉じるということは、VBAではよくあるパターンかと思います。

    これはワークシート関数では出来ない、VBAならではの処理かもしれません。

     

    ・ファイルを開く場合

    Workbook.Opan(パス)

    ※パス:参照先、ファイル名まで入れること。例[…]

  • 今回はExcelマクロ(VBA)の再定義とワークシートの宣言に関してです。

     

    ReDim:再定義

    Dim Test() As Variant →まだ配列の数字が把握できていない状態

    一次元配列

    ReDim Test(5,5) →ここで再定義して使[…]

  • 今回はExcelマクロ(VBA)の補足です。

     

    ・繰り返しの補足

    データのある一番下  から4まで1個ずつ戻る

    For I = cells(Rows.Count,-1).End(xlUp).Row To 4 step-1

    →下から4まで1個ずつ上に見ていく(普段は下にいく)

    Step:普段は省略されている(Step 1)

     

    ・Wothの追記[…]

  • 今回はExcelマクロ(VBA)のInstr関数に関してです。

     

    Imstr関数とは、文字の検索をした時に、何番目の文字か数字を返してくれる

     

    Instr(検索文字列,検索対象)

    Ex:Instr(あいうえお,え) → 4が返ってくる

    Ex:Instr(cells(I,1),”)”) → )があれば、1以上ということ

    Ex:Instr(×,△)>0 → ifとかで使うと、この文字が[…]

  • 今回はExcelマクロ(VBA)のセルの書式に関してです。

     

    NumberFormatLocal :表示形式の関数

    これはセルの表示形式を指定することで、セルに入っている値は同[…]

  • 今回はExcelマクロ(VBA)の変数を宣言するコツに関して②です。

     

    変数Total:合計

    Total=Total+Cells(I,4)

     

    変数Ave:平均

    Ave=Total/(Cells(Rows.Count 4).End(xlUp).Row-2)

    ※-2しているのは、必要なセルだけ参照するために、関係ないセルを除くため。ただしCellsと一緒にか[…]

  • 今回はExcelマクロ(VBA)のMsgBoxに関してです。

     

    MsgBoxとは、メッセージを表示するダイアログボックス(小さな画面)を表示することができます。

    ただ、この関数はあまり頭がよくないので、エクセル関数は使えません。

    ex)

    MsgBox “OKです。”

    メッセージボックスに「OKです。」と表示します。

     

    MsgBox関数には、下記のようなbuttonsの定数など[…]

  • 今回はExcelマクロ(VBA)の変数を宣言するコツに関してです。

     

    「宣言」とは簡単に言うと、初めに変数の名前とデータ型を決めることです。

    ※データ型とは、書式設定の「表示形式」と同じもの思っていただければ。

     

    変数を宣言するときのコツは、「先にどんなものを作りたいのか考えて、プロシージャを先に作ってしまう」です。

    その上でどんな動きをさせるかによって、必要そうな変数を宣言します。[…]

  • 今回はExcelマクロ(VBA)のセルに関数を入力する場合に関して⑤です。

     

    .Rows.Count:エクセルシートの最終行を返してくれます。

    .Columns.Count:エクセルシートの最終列を返してくれます。

    最終行・最終列の最大を教えてもらってどうするか。

     

    Cells(Rows.Count, 1).End(xlup).Row

     

    Cells(Rows.Count,[…]

  • 今回はExcelマクロ(VBA)のセルに関数を入力する場合に関して④です。

     

    CurrentRegionとは、空白のセルで囲まれた範囲を読み取り、参照します。空欄だからといってセルを無視せず、データが入っているところだけでなく、空欄も含めて四角形に確認してくれるのが特性です。(基本は空欄を無視します。)

     

    Rows(列番号).RowHeight=25(ピクセル)

    →指定しているのは列だけで、高[…]

  • 今回はExcelマクロ(VBA)のセルに関数を入力する場合に関して③です。

     

    関数(SUMなど)はExcelの機能で、VBAにはありません。

    Excel上にの文字として決まっているところをセルに入力するには、ダブルコーテーションで囲む必要があります。

    Ex)”SUM(“~”)”

     

    エクセル関数と一緒の場合は、そのまま使える関数もあります。言語にあるかないかです。

    Round(3/2[…]

  • 今回はExcelマクロ(VBA)のセルに関数を入力する場合に関して②です。

    いくつか入力に関してみると、下記のようなものがあります。

    .Address:RangeやCellsのセル番号が出力されます。
    .End(xlDown):データが入っているセルの一番下を検索。
    .Address(False,False):相対参照にする為のアドレス。
    絶対:変わらない、Ture。→例:$A$1:$A$10
    相対:変わる[…]

  • 今回はExcelマクロ(VBA)のセルに関数を入力する場合に関して①です。

     

    関数を入力する場合は、下記のように記載します。

    =_”=SUM(” & Range(.Address.End(xlDown).Address(False,False)&”)”

     

    (_:改行を利用する場合に必要なアンダーバー)

     

    ”=SUM(” &:セルに文字を[…]

  • 今回は「End」と「Offset」の補足に関してお伝えします。

     

    ①Cells(6,7).Offset(1.0)や②Cells(6,7).End(xlDown).offset(1,0)といった使い方も可能です。

     

    ①は基準セル(G6)から下に一つ移動する。

    ②は基準セル(G6)から、データが入っている最後のセルに移動して、下に1つ移動する。※End(xlDown)と.offsetの記載を逆にす[…]

  • 今回はExcelマクロ(VBA)の「Offset」に関してです。

     

    例えばEnd(xlDown)というのは、データが入っているところから。(上から下にという指定をして、)データが入っている最後のところまで移動してくれます。

     

    「Offset」はセルの指定の一種で、基準セルから移動してセルを指定することができます。

    基準セルから離れて、移動した先で何をするかがしやすいです。

    ※RCと移動す[…]

  • 今回はExcelマクロ(VBA)の「End」に関してです。

     

    例えばEnd(xlDown)というのは、データが入っているところから。(上から下にという指定をして、)データが入っている最後のところまで移動してくれます。

     

    xlUP:下から参照して上に

    xlLight:左から参照して右に

    xlLeft:右から参照して左に

    →スタート地点ではなく、ゴール地点を記入して指定します。[…]

  • 今回はExcelマクロ(VBA)の「スペース」に関してです。

     

    入力していてスペースが勝手に入ることがあると思います。

    ただのイコールの時は、式として認識されてスペースが入る為です。

     

    イコールで分かれてくるのは、ダブルコーテーション内のイコールです。

    ダブルコーテーション内のイコールは絶対に勝手に変えてくれません。

    こういう変数があるかも(withRangeなど、本当にはないもの[…]

  • さらに読み込む
一覧へ戻る