アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルの、マクロとは何ですか?

A 回答 (3件)

定義ということになると、厳密なところになりますが、マクロとVBAについて、マイクロソフトは、『Microsoft Office 97 プログラマーズガイド』という本の中で述べています。



「マクロ」というのは、その取り扱い言語は別として、ひとつの作業(タスク)の自動実行を目的とする機能のことです。逆にいうと、ひとつの作業を実行できないものは、マクロとは呼びません。例えば、引数を必要とする、プロシージャやユーザー定義関数は、マクロの範疇から外れます。

「VBA」(Visual Basic for Application)で書かれたものを総称して、プロシージャと呼び、マクロとは厳密には意味が異なります。また、Ver.4 の「マクロ関数(関数型)」で書かれたものも、プロシージャで自動実行で作業をするものも、総称してマクロと呼びます。また、ひとつのブックにあるモジュール(=プロシージャを呼び出すためのオブジェクト)群をプロジェクトと呼び、「モジュール」を組み合わせ一貫した仕事をするようにしたものを「システム」と呼んだりします。

なお、余談になりますが、一部、VBAでも、マクロ関数に依存しなければならない部分が存在しますが、Microsoft 側では、マクロ関数に関しては、過去のものとして、ヘルプ(英語)を残しているだけですが、新しく加えたものは載っておりません。未だ、マクロシート(ver.4)もダイアログシート(Ver.5)も、利用することは可能です。
    • good
    • 0

VBA(Visual Basic for Application)が今はマクロと呼ばれていますが


それが出来るまではマクロシートというのがあって
同様にプログラムしてEXCELを動かそうというものでした。
20年程前のことですが・・・・。

VBAではEXCELで自動的にしたいことがほとんど記述可能です。
スキルは必要ですが・・・。
    • good
    • 0

エクセルの裏に貼り付けてあるVBと言うプログラムです。


ここにコードィングすれば、そのエクセルを開いて使う事が出来ます。
使う:プログラムを実行できる。

下は例です。
Sheet1のA列をSheet2のA列へ1個置きに転送する

Sub WK()
Dim CNT As Long
Dim END1 As Long
Dim Sh1 As Worksheet
Dim Sh2 As Worksheet

Set Sh1 = Worksheets("Sheet1")
Set Sh2 = Worksheets("Sheet2")
END1 = Sh1.Range("B65536").End(xlUp).Row

For CNT = 2 To END1 STEP 2
Sh2.Range("A" & CNT).Value = Sh1.Range("A" & CNT1).Value
Next CNT
E1:
Application.StatusBar = False
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!