JUGEMテーマ:Office VBA
' 変数の宣言gu:表の初めの行
Dim gu As Integer
' 行削除
Range("21:100").Delete
Range("c22").Select
g = 4
gu = 21
r = 2
Do Until Worksheets("moto").Cells(g, "i").Value = ""
With ActiveCell
If Worksheets("moto").Cells(g, "f").Value = _
Cells(2, "d") And _
Worksheets("moto").Cells(g, "g").Value = _
Cells(2, "f") Then
' 表のコピー
Range(Cells(4, r), Cells(18, r+8)).Copy
Cells(gu, r).PasteSpecial
Application.CutCopyMode = False
' 表に値を挿入
.Value = Worksheets("kaikei").Cells(g, "i").Value + _
Worksheets("kaikei").Cells(g, "g").Value
.Offset(1, 0).Value = CStr(Worksheets("kaikei").Cells(g, "c").Value) + "-"+ _
CStr(Worksheets("kaikei").Cells(g, "d").Value) + _
CStr(Worksheets("kaikei").Cells(g, "j").Value)
.Offset(6, 0).Value = Worksheets("kaikei").Cells(g, "k").Value
.Offset(7, 0).Value = Worksheets("kaikei").Cells(g, "l").Value
.Offset(8, 0).Value = Worksheets("kaikei").Cells(g, "m").Value
.Offset(9, 0).Value = Worksheets("kaikei").Cells(g, "n").Value
.Offset(17, 0).Select
' 次に表を作成するセル行を指定
gu = gu+ 17
End If
' 次の奇数の番号の生徒に
g = g + 2
End With
Loop
Range("g22").Select
g = 5
Do Until Worksheets("moto").Cells(g, "i").Value = ""
With ActiveCell
If Worksheets("moto").Cells(g, "f").Value = _
Cells(2, "d") And _
Worksheets("moto").Cells(g, "g").Value = _
Cells(2, "f") Then
' 表に値を挿入
.Value = Worksheets("kaikei").Cells(g, "i").Value + _
Worksheets("kaikei").Cells(g, "g").Value
.Offset(1, 0).Value = CStr(Worksheets("kaikei").Cells(g, "c").Value) + "-"+ _
CStr(Worksheets("kaikei").Cells(g, "d").Value) + _
CStr(Worksheets("kaikei").Cells(g, "j").Value)
.Offset(6, 0).Value = Worksheets("kaikei").Cells(g, "k").Value
.Offset(7, 0).Value = Worksheets("kaikei").Cells(g, "l").Value
.Offset(8, 0).Value = Worksheets("kaikei").Cells(g, "m").Value
.Offset(9, 0).Value = Worksheets("kaikei").Cells(g, "n").Value
.Offset(17, 0).Select
End If
' 次の偶数の番号の生徒に
g = g + 2
End With
Loop
Range("g4").Select