- 締切済み
マクロのプログラミングで Do Loopステートメントです
明後日学校の情報の授業でエクセルのマクロを使ってプログラミングするんですが語句について教えてください エクセルのマクロなんですが Do Loopスタートメントって言うのをやります そこでコマンドの意味を教えてほしいんです 明後日なんでなるべく早くお願いします 今回のコマンド(と、バリエーション)って書いてあります 1) dim i as→ 2) Do While 条件式 処理 Loop 3) Do Until 条件式 処理 Loop 4) i=i+1 5)Integer この5つです お願いしますm(_ _)m
- みんなの回答 (1)
- 専門家の回答
みんなの回答
こんにちは。 まず、授業で使用されているテキストなど(教科書、参考書など)で、VBAの解説が 記載されている場合は、それをご覧になってみて下さい。 以下、簡単に説明させて頂きます。 > 1) dim i as→ > 5) Integer Dim ~ は、変数の宣言を行うステートメントです。 <構文> Dim 変数名 As データ型 Dim の後に変数名を記述します。 As ~の記述でデータ型を指定します。 ⇒Integer は、そのデータ型を表す「識別子」のひとつです。 As以降は、省略可能です。 ⇒その場合のデータ型は、既定のバリアント型(Variant)になります。 <例> Dim i As Integer '整数型(Integer)の変数 i を宣言します。 Dim ldat As Long '長整数型(Long)の変数 ldat を宣言します。 Dim fdat As Single '単精度浮動小数点型(Single)の変数 fdat を宣言します。 Dim ddat As Double '倍精度浮動小数点型(Double)の変数 ddat を宣言します。 Dim sTxt As String '文字列型(String)の変数 sTxt を宣言します。 Dim vDat1 As Variant 'バリアント型(Variant)の変数 vDat1 を宣言します。 Dim vDat2 As Variant 'バリアント型(Variant)の変数 vDat2 を宣言します。 '各変数に値を格納 i = 255 ldat = 5120 fdat = 123.45 ddat = 12345.567 sTxt = "ABC" vDat1 = i * 100 'バリアント型変数 vDat1 に、( 変数 i の値×100)の結果を '格納します。 vDat2 = sTxt & "DEF" 'バリアント型変数 vDat2 に、文字列型変数 sTxt の値(文字列) 'と文字列 "DEF"を結合した文字列を格納します。 ※上記のように、バリアント型の変数には、数値でも文字列でも、あらゆる種類のデータ を格納することができます。(※但し、一部格納できないデータもあります。) > 4) i=i+1 変数 i の値(中身) に +1 した結果を、変数 i に再格納します。 ⇒つまり、 i の値を +1 します。 > 2) Do While 条件式 > 処理 > Loop 条件が成立している間(=条件式の結果が「真」の間)、Loop までの処理を 繰り返します。 条件が成立しなくなったら、ループを終了します。 <例> Dim i As Integer i = 0 Do While i < 10 i = i + 1 Loop 上記は、i の値が 10未満の間(⇒ i の値が 0~9 の間)、 i = i + 1 の処理(計算)を繰り返します。 i の値が 10 になったらループを終了します。 ⇒従って、ループを終了した後の i の値は、10 になっています。 > 3) Do Until 条件式 > 処理 > Loop 条件が成立するまで(=条件式の結果が「偽」の間)、Loop までの処理を 繰り返します。 条件が成立したら、ループを終了します。 <例> Dim i As Integer i = 0 Do Until i = 10 i = i + 1 Loop 上記は、i の値が 10 になるまで(⇒ i の値が 10 でない間)、 i = i + 1 の処理(計算)を繰り返します。 i の値が 10 になったらループを終了します。 ⇒従って、ループを終了した後の i の値は、10 になっています。 VBAの構文等については、下記サイトが参考になると思います。 宜しければ、ご覧になってみて下さい。 ■参考サイト Excel VBA 解説メニュー http://www.optimizm.jp/index_vbanyumon.shtml エクセルVBAマクロ - ExcelVBA.net http://www.excel-vba.net/ 以上です。