サイトアイコン SE日記

ExcelのVBA・マクロで数値を入力しセルに値をセットする方法

ここでは、ExcelのVBA・マクロで数値を入力しセルに値をセットする方法を紹介します。

ExcelのVBA・マクロで数値を入力しセルに値をセットするには、inputboxを使います。

<サンプル>

Sub test29()
‘表の書式設定
Range(“A1:D1”).Interior.Color = rgbYellow
Range(“A1:D1”).Font.Color = rgbRed
Range(“A1:D1”).HorizontalAlignment = xlCenter
Range(“A1:D7”).Borders.Weight = xlThin
Range(“A1:D7”).Font.Name = “Meiryo UI”
Range(“A1:D7”).Font.Size = 12

‘表のデータ
Range(“A1”).Value = “グループ”
Range(“B1”).Value = “名前”
Range(“C1”).Value = “点数”
Range(“D1”).Value = “合否”
Range(“A2”).Value = “A”
Range(“A3”).Value = “B”
Range(“A4”).Value = “C”
Range(“A5”).Value = “A”
Range(“A6”).Value = “B”
Range(“A7”).Value = “C”
Range(“B2”).Value = “高橋”
Range(“B3”).Value = “鈴木”
Range(“B4”).Value = “田中”
Range(“B5”).Value = “松井”
Range(“B6”).Value = “野村”
Range(“B7”).Value = “谷重”

Dim ret As Variant

‘点数入力
Range(“B2”).Activate
Do
If ActiveCell.Value = “” Then Exit Do

ret = Application.InputBox(prompt:=”点数を入力してください”, Type:=1)

If ret <> False Then
‘点数をセット
ActiveCell.Offset(columnoffset:=1).Value = ret

‘合否判定
If ActiveCell.Offset(columnoffset:=1) >= 60 Then
ActiveCell.Offset(columnoffset:=2).Value = “合格”
Else
ActiveCell.Offset(columnoffset:=2).Value = “不合格”
End If
End If

ActiveCell.Offset(RowOffset:=1).Select
Loop

MsgBox (“処理が終了しました”)

End Sub

このプログラムでは、C列の値を1件ずつ入力していきいます。「ret = Application.InputBox(prompt:=”点数を入力してください”, Type:=1)」で数値型の値を1件ずつ入力していってます。

点数が入力されたかどうかを「If ret <> False Then」で判断し、retの値がfalse出ない場合に、「ActiveCell.Offset(columnoffset:=1).Value = ret」でセルに値をセットします。

ちなみにretは「Dim ret As Variant」でvariant型で宣言しています。

文字を入力したい場合は↓を参考にしてください。
>>ExcelのVBA・マクロで文字を入力しセルに値をセットする方法

モバイルバージョンを終了