日々のデータ入力の作業をVBAで自動化してみましょう。
今回も OneDriveのフォルダにある
のフォルダーから 在庫 のファイルを右クリック...
ダウンロード ファイルを開くで確認してみてください。
配置してある 登録簿単位はには
Sub ボタン2_Click()
With Sheets("入出庫記録")
GYOU = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Range("A" & GYOU).Value = Range("C3").Value
.Range("B" & GYOU).Value = Range("C4").Value
.Range("C" & GYOU).Value = Range("C5").Value
.Range("D" & GYOU).Value = Range("C6").Value
.Range("E" & GYOU).Value = Range("C7").Value
End With
End Sub
とプログラムが記述してあります。
C3セルには =Today() とToday関数
C4セルには =MAX(入出庫記録!B:B)+1 とMax関数 +1
です。
これで、管理番号が連番になる仕組みになります。
初めて部分に
With Sheets("入出庫記録")
.Range("A" & GYOU).Value
End With
があります。Withを使わなくても
Sheets("入出庫記録") .Range("A" & GYOU).Value
と記述することが可能ですが
何度も Sheets("入出庫記録")を記述するのが面倒なので
わかりや易く
With ~ End With で指定して省略しています。
次に
GYOU = .Range("A" & Rows.Count).End(xlUp).Row + 1
ですね。
Row.Countですが、このエクセルの持つ最大の行数です。
エクセル2007以降では 約100万行
それ以前のエクセルでは 約 6万行の数値と決まっています。
.Range("A" & Rows.Count).End(xlUp).Row は
A列の一番下の行から上へ空白でない行に当たったら
その行行番号です。
それに +(プラス)1しますので
データが入力されている最終行一つ下の行番号が得られます。
.Range("A" & GYOU).Value=ですので、最終行の下にデータを入れる
と云うコードです。
これも定番的な記述ですので是非、理解して覚えてください。