仮想通貨100種類以上の特徴を紹介!だけど雑記ブログw

プログラミング講座1-2・全体的な話は3割くらいわかってればOK、どんどん作ろう。

 

先にざっくりまとめておきます。

  • 書く場所は、4つ(ワークブック・シート・フォーム・標準モジュール)
  • SubとFunctionがある
  • 変数はPublicで外かDimで中、定数はConst
  • 代入したり、計算したりできる
  • 条件分岐とぐるぐる系で実行順序をいじれる

さて、前回書くと宣言したプログラミング講座の初回となります。まず今日は最初に全体的なVBAのお話です。ぶっちゃけ、わからなくなれば後から見直せば良いので、さらっと読むだけにしてください。

ここで、まじめに全部理解しようとしてもあまり意味はないので、ざっくりよんで、さっさと2-1へ進んでください。

プログラムを書く場所

エクセルを開いたら、「Alt」を押しながら、「F11」を押します。するとVBエディタが開きます。左の方にプロジェクトと書いた場所があり、そこにSheet1から3とThisWorkbookと書いてあると思います。またそのあたりを右クリックして、「挿入」というところにカーソルを合わせると、「ユーザーフォーム」「標準モジュール」「クラスモジュール」というところがあります。それぞれをクリックして、その中にプログラムを書くことになります。

プログラムを書く場所

Sheet

エクセルはシートがいくつもあるので、そのシートでしか使わないプログラムやそのシートを操作した時に使いたいプログラムはそれぞれのシートに書くことになります。

ThisWorkbook

ワークブックに対しての操作で実行したいプログラムを書きます。入門者が知っておくべきは、そのエクセルファイルを開いた直後に実行したいプログラムはここに書くということです。

ユーザーフォーム

ワークシートとは別に入力フォームなんかを使用するときに使います。

標準モジュール

どこからも共通で使うプログラムをここに書きます。

クラスモジュール

入門者は使う必要なし

プログラムの構成

サブプロシージャとファンクションプロシージャがあります。

Sub sample()
    ‘ここのプログラムが実行される
End Sub
Function sample()
    ‘ここのプログラムが実行される
End Function

サブプロシージャ

単純に実行するためのものです。

ファンクションプロシージャ

実行した結果が返ってくるものです。エクセルの関数をイメージしてもらえるといいです。SUM関数だったら、合計した結果が出てきますよね。

書くこと

定義

プログラム上では変数に数字を代入したり、文字列を代入したりして使用します。で、使う変数は「これは変数です」と書いてやる必要があります。で、これを書く位置によって、使える範囲が変わります。書き方はいろいろありますが、とりあえずは次の2パターンを覚えておけばよいかと思います。

Public hensu1 As Long
‘ここで定義するといつでも使えます(Longは整数を使う時に使います)
Sub sample()
    Dim hensu2 As String
    ‘ここで定義すると、このプロシージャの中だけで使えます
    ‘(Stringは文字列を使います)
End Sub

これ以外にも定数の定義として、

Const teisu As Double = 具体的な数字(Doubleは小数を使います)

とかは初めから使うと良いと思います。

変数への代入

Dim i As Long

って、感じで定義したものに、

i = 1

って感じで代入します。

文字列の場合は、文字列をダブルクォーテーションで囲みます。

Dim s As String
s = “ここに代入する文字列”

計算

計算したり文字列をつないだりします。

i = 3 + 4

とか、こんな感じです。ここで面白いのは、プログラミング言語の代入の際に使う「=」は等式にする必要はないので……

i = i + 1

というように書くと、もともと「i」に代入してある数に1を足した数がiにさらに代入されることになります。

また、文字列の場合は

s = “もじ” & “れつ”

というように「&」を使ってつなぎます。これも数字と同様に

s = “もじ”
s = s & “れつ”

というような書き方ができます。

オブジェクトの操作

オブジェクトってのは、しっかり説明するとややこしいので、とりあえずは便利なものとだけ思っておいてくださいw代入する時のルールも変数の時とは違って、

Set obj = オブジェクト

こんな形になります。そして、オブジェクトの後ろにドットを付けて命令を書きます。こんな感じになります。

obj.Value

最後に制御系

IF文(条件分岐)

変数の値によって、後に続くプログラムを実行するかしないかを決めることができます。他にも書き方はありますが、とりあえずはIF文だけ使えれば十分だと思います。

If i = 1 Then
    ‘iが1であればここを実行
End If
If i = 1 Then
    ‘iが1であればここを実行
Else If i = 2
    ‘iが2であればここを実行
Else
    ‘それ以外ならここを実行
End If

Loop(ぐるぐる系)

知っておくべきはDo~LoopとFor~Nextの2つです。

Do Until i = 10
    ‘iが10になるまで実行
Loop

Do While i = 10
    ‘iが10の間は実行
Loop

Do Until i = 10
    ‘とりあえず1回実行してから、iが10になるまで実行
Loop

Do
    ‘とりあえず1回実行してから、iが10の間は実行
Loop While i = 10

For i = 1 to 10
    ’10回ここを実行(iは1からスタートして、繰り返すたびに1ずつ増える。)
Next

総まとめ

  • 書く場所は、4つ(ワークブック・シート・フォーム・標準モジュール)
  • SubとFunctionがある
  • 変数はPublicで外かDimで中、定数はConst
  • 代入したり、計算したりできる
  • 条件分岐とぐるぐる系で実行順序をいじれる

前へ ・ 目次へ

SNSでフォローする

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です