エクセル(VBA)

目次



【エクセルVBAの基本】

・書式

 Option Explicit '変数の宣言の強制(変数名のタイプミスに気づける)

 Sub マクロ名()
   変数宣言 'コメント
   処理
 End Sub

・変数の宣言

  Dim (変数名) As (型)
   ※ Integer(整数型)、String(文字列)

・セル範囲の指定

  Range("A:A")、Cells(1,2)、Range("A1").Offset(2,2)

・ステートメント

For文

  For (変数) = (初期値) To (最終地)
    処理
  Next (変数) 

While文

  Do While (条件)
    処理
  Loop

If文

  If (条件) Then
    処理1
  Elseif (条件) Then
    処理2
  Else
    処理3
  End If

・基本的なメソッド、プロパティ

  選択   Range("A1").Select
  コピー  Range("A1").Copy
  ペースト Range("A1").PasteSpecial
  削除   Range("A1").ClearContents

  背景色  Range("A1").Interior.ColorIndex = X
  文字色  Range("A1").Font.ColorIndex = X
  文字サイズ Range("A1").Font.FontSize = X
  値    Range("A1").Value = X


【よく使う構文】

・ファイルに書き出す

(例)
Open sfile For Output As #fno
 For startrow = 11 To endrow
  i = Cells(startrow, 3) & "," & Cells(startrow, 12) & "," & Cells(startrow, 15) & "," & Cells(startrow, 18)
  Print #fno, i
 Next startrow
Close #fno


・日付の計算

 d = DateAdd(設定値, 計算数, 対象) '設定値:年→"yyyy", 月→"m", 日→"d", 週→"ww", 時→"h", 分→"n", 秒→"s"
     (例) d = DateAdd("d", 1, Date) '1日プラス
       t = DateAdd("h", -1, Time) '1時間マイナス

・最終行、最終列の取得

    MaxRow = Range("A1").End(xlDown).Row
    MaxCol = Range("A1").End(xlToRight).Column

・メッセージボックス

    MsgBox "メッセージ"

【関数】

midb関数


【サンプルマクロ】

最終行を取得して処理

テキストファイルに出力(名前をつけて保存)}

最終更新:2014年02月26日 15:28