2019年6月25日火曜日

VBAの文法まとめ

関数の作成方法

Sub func()
  ' 処理を記載
End Sub

処理内から他の関数を呼び出す方法

Call func()

メッセージボックス

Sub Sample()
    MsgBox "Hello World!!"
End Sub

For文

' 基本形
For i = 0 To 10
    MsgBox (i)
Next i

' iを2ずつカウントアップする場合
For i = 0 To 10
    MsgBox (i)
Next i Step 2

' シート名の一覧を取得して表示させる
For i = 1 To Worksheets.Count
    MsgBox (Worksheets(i).Name)
Next

' 配列の数だけループ
Dim array(19) As String
For i = 1 To UBound(array)
    MsgBox (array(i))
Next

if文

' 基本形
If ActiveCell.Value = "五反田" Then
    MsgBox "五反田です"
Else
    MsgBox "五反田ではありません"
End If

' 不一致の場合
If ActiveCell.Value <> "五反田" Then
    MsgBox "五反田です"
Else
    MsgBox "五反田ではありません"
End If

' 部分一致の場合
If InStr(ActiveCell.Value, "五反田") > 0 Then
    MsgBox "五反田を含んでいます"
Else
    MsgBox "五反田を含んでいません"
End If

空白行まで繰り返し処理を行う

Dim i As Integer
i = 1
Do Until Cells(i, 1) = ""
    MsgBox (i)
    i = i + 1
Loop

Vlookup

WorksheetFunction.VLookup(検索値, 範囲, 列番号, 検索方法)

例外処理(エラーを無視)

' vlookupで検索失敗(=検索結果ゼロ)した場合でも処理が続くように例外処理
On Error Resume Next
  value = WorksheetFunction.VLookup(検索値, 範囲, 列番号, 検索方法)
  If Err.Number <> 0 Then
    value = ""
  End If
On Error GoTo 0

他のファイルを開く/閉じる方法

Dim filePath As String
Dim fileName As String
Dim sheetName As String
filePath = "\\c:"
fileName = "sample.xlsx"
sheetName = "sample1"
' ファイルをオープンしてもチラチラさせない(チラチラをoff)
Application.ScreenUpdating = False
' ファイルをオープン
Workbooks.Open fileName:=filePath + "\" + fileName
' オープンしたファイルの指定シートをアクティブ化
Sheets(sheetName).Activate
' ファイルをクローズ
Workbooks(fileName).Close
' ファイルをオープンしてもチラチラさせない(チラチラをon)
Application.ScreenUpdating = True

シートのセルの値を取得する

Dim sheetName As String
sheetName = "sample1"
MsgBox(Sheets(sheetName).Cells(1, 1).Value)

0 件のコメント:

コメントを投稿

FX自動トレード_2021年6月実績

      概要 2021年6月が終わり、FX自動トレードによる収益実績を取り纏めましたので振り返ってみたいと思います。 2021年6月結果 2021年6月の実績は、実利利益額:\66,761、実績利益率は1.42%でした。 今月もボラが全く出ず。利益率の連続過去最低記録更新は免...