ここでは、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・マクロで文字を入力しセルに値をセットする方法