0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Excel VBA】CByte関数|値をバイト型(0~255の整数)に変換する方法と注意点

Last updated at Posted at 2025-09-07

この記事ではCByte関数の使い方と注意点について解説します。
他のよく使うVBA関数一覧はこちら。

CByte関数の使い方と注意点

CByte関数は、数値や文字列をバイト型(Byte型)に変換する関数です。
Byte型は0~255の整数値しか扱えないため、メモリを節約したいときや制御用フラグなどに利用されます。

構文

CByte()
  • : 変換したい数値または数値文字列
  • 戻り値 : Byte型(0~255の整数)

使用例

数値をByte型に変換

Sub Sample()
    Dim value As Integer
    Dim result As Byte
    
    value = 123
    result = CByte(value)
    
    Debug.Print result
    Debug.Print TypeName(result)
End Sub

▶ 出力結果

123
Byte

→ 整数をByte型に変換できます。

小数をByte型に変換

Sub Sample()
    Dim value As Double
    Dim result As Byte
    
    value = 123.7
    result = CByte(value)
    
    Debug.Print result
End Sub

▶ 出力結果

124

→ 小数部分は四捨五入されます(銀行丸めが適用されます)。

銀行丸めとは
四捨五入で「ちょうど .5 のとき」、最も近い偶数に丸める方法です。

結果
CByte(0.5) 0
CByte(1.5) 2
CByte(2.5) 2
CByte(3.5) 4
CByte(4.5) 4
CByte(5.5) 6

文字列をByte型に変換

Sub Sample()
    Dim strValue As String
    Dim result As Byte
    
    strValue = "200"
    result = CByte(strValue)
    
    Debug.Print result
    Debug.Print TypeName(result)
End Sub

▶ 出力結果

200
Byte

→ 数値文字列をByte型に変換できます。

⚠️注意

範囲外の値はオーバーフロー

Byte型は0~255の範囲しか扱えません。
範囲外の値を変換しようとするとエラーになります。

Sub Sample()
    On Error Resume Next

    Dim result As Byte
    
    result = CByte(300)
    
    If Err.Number <> 0 Then Debug.Print "エラー:" & Err.Description
    
    On Error GoTo 0
End Sub

▶ 出力結果

エラー:オーバーフローしました。

変換できない文字列はエラー

Sub Sample()
    On Error Resume Next

    Dim result As Byte

    result = CByte("abc")

    If Err.Number <> 0 Then Debug.Print "エラー:" & Err.Description

    On Error GoTo 0
End Sub

▶ 出力結果

エラー:型が一致しません。

小数は銀行丸めされる

少数を変換する際の四捨五入では、銀行丸めも行われます。(詳細は上記表を参照)
意図と違う結果になる可能性がある点に注意しましょう。

その他のVBA関数

【Excel VBA】VBAでよく使う関数一覧&基本の使い方

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?