引数 expression には、置換の対象となる文字列を指定します。
引数 find には、検索する文字列を指定します。
引数 replace には、置き換える文字列を指定します。
引数 start は省略可能です。検索開始位置を指定します。
引数 count は省略可能です。置き換える文字列の個数を指定します。
引数 compare は省略可能です。文字列を比較するモードを指定します。
解説
任意の文字列で、特定の文字列を、指定した文字列に置き換えた文字列を返します。
引数compareには次の定数を指定できます。
数値 | 内容 |
---|---|
-1 | Option Compareの設定で比較します |
0 | バイナリモードで比較をします |
1 | テキストモードで比較します |
2 | Microsoft Accessでのみ使用できます |
Replace関数は文字列を置換する関数ですが、任意の文字列を空欄に置換することで、結果的に特定の文字列を除去することができます。
セルに数式を入力/取得する
Sub Sample1() Range("C1").Formula = "=A1+B1" '----(1)A1形式で相対参照 ' Range("C1").Formula = "=$A$1+$B$1" '----(2)A1形式絶対参照 ' Range("C1").FormulaR1C1 = "=R1C1+R1C2" '----(3)R1C1形式で絶対参照 ' Range("C1").FormulaR1C1 = "=RC[-2]+RC[-1]" '----(4)R1C1形式で相対参照 MsgBox "A1形式:" & Range("C1").Formula & vbCrLf & _ "R1C1形式:" & Range("C1").FormulaR1C1 End Sub
文字列から日付(Date型)への変換
①yyyy/mm/dd形式はそのままCDate関数で変換する
Sub StringToDate1()
Dim s As String
Dim dt As Date
s = "2018/03/29"
dt = CDate(s)
End Sub
②yyyymmdd形式はyyyy/mm/ddにしてからCDate関数で変換する
Sub StringToDate1()
Dim s As String
Dim dt As Date
s = "20180329"
dt = CDate(Format(s, "####/##/##"))
'// こちらでもよい
' dt = CDate(Mid(s, 1, 4) & "/" & Mid(s, 5, 2) & "/" & Mid(s, 7, 2))
End Sub
Excel VBA マクロの DateAdd 関数から日付や時間を計算する方法
DateAdd 関数は、日時に指定した日付や時間を加算して返します。
DateAdd("d", 7, Date) のようにして、1 週間後の日付を取得できます。
DateAdd("h", -10, Time) のようにして、10 分前の時刻を取得できます。
DateAdd(単位, 加算時間, 日時)
日時に単位の加算時間を計算した結果を取得します。
引数「単位」 | 引数「加算時間」の単位を表す文字を指定します。 |
引数「加算時間」 | 引数「日時」に加算する時間を数値で指定します。 |
引数「日時」 | 元になる日時を指定します。 |
戻り値の型 | 日付型 (Date) |
引数「単位」
単位の文字 | 説明 |
yyyy | 年 |
m | 月 |
d | 日 |
h | 時 |
n | 分 |
s | 秒 |
q | 四半期 |
y | 通年での日数 |
w | 平日 |
ww | 週 |
別シートの行を削除する
Worksheets("Sheet2").Rows(1).Delete
経過時間を計測
Public Sub WatchTime
Dim t As Double
t = Timer
' 時間のかかる処理
Debug.Print(Timer - t) ' 1.23 などの秒数
End Sub