| 
    
     |  | ▼NAO さん: おはようございます。
 ちゃんとトレースしたわけではありませんが・・・・。
 
 >こんばんは、NAOです。またお世話になります。
 >
 >Private Sub CommandButton1_Click()
 >
 >Dim lstrow As Integer, a As Integer, m As Integer, n As Integer, h As Integer,i As Integer, j As Integer, k As Integer, p As Integer, q As Integer
 >
 >Application.ScreenUpdating = False
 >
 >
 >'データシートより5行づつ、作業用シートに取り込む
 >
 >  Worksheets("データ").Activate
 >    lstrow = Worksheets("データ").Range("a65536").End(xlUp).Row
 >    a = lstrow
 >    m = WorksheetFunction.RoundUp(a / 5, 0)
 >
 >  For z = 1 To m
 >    h = z * 5 - 3
 >    i = z * 5 + 1
 >
 >    Worksheets("データ").Range("a" & h & ":d" & i).Copy Destination:=Worksheets("作業用").Range("a1")
 >
 >
 >'作業用シートのデータをラベルシートに転記する
 >
 >    For n = 1 To 2      '1シートに10行分転記する
 >
 >    '名前
 >
 >      For j = h To i
 >        If n Mod 2 = o Then
 '                ↑ 偶数か奇数を判別がoですが、0ですよね?
 '        以下の行にも同じコードがこれを修正して下さい
 >          Worksheets("ラベル").Cells(j * 10 - 18, 3).Value =Worksheets("作業用").Cells(j - 1, 2).Value
 >          Else: Worksheets("ラベル").Cells(j * 10 - 18, 18).Value = Worksheets("作業用").Cells(j + 4, 2).Value
 >        End If
 >      Next j
 >
 >    '備考
 >
 >      For k = h To i
 >        If n Mod 2 = o Then
 >          Worksheets("ラベル").Cells(k * 10 - 18, 8).Value = Worksheets("作業用").Cells(k - 1, 4).Value
 >          Else: Worksheets("ラベル").Cells(k * 10 - 18, 23).Value = Worksheets("作業用").Cells(k + 4, 4).Value
 >        End If
 >      Next k
 >
 >    '品名
 >
 >      For p = h To i
 >        If n Mod 2 = o Then
 >          Worksheets("ラベル").Cells(p * 10 - 11, 5).Value = Worksheets("作業用").Cells(p - 1, 3).Value
 >          Else: Worksheets("ラベル").Cells(p * 10 - 11, 20).Value = Worksheets("作業用").Cells(p + 4, 3).Value
 >        End If
 >      Next p
 >
 >    '番号
 >
 >      For q = h To i
 >        If n Mod 2 = o Then
 >          Worksheets("ラベル").Cells(q * 10 - 11, 13).Value = Worksheets("作業用").Cells(q - 1, 1).Value
 >          Else: Worksheets("ラベル").Cells(q * 10 - 11, 28).Value = Worksheets("作業用").Cells(q + 4, 1).Value
 >        End If
 >      Next q
 >
 >    Next n
 >
 >  'ラベルシートの印刷
 >
 >    MsgBox "用紙をセットしてください"
 >
 >    Worksheets("ラベル").Activate
 >      ActiveSheet.PrintOut copies:=1
 >
 >  Next z
 >
 >  MsgBox "すべての印刷終了"
 >
 >  Application.ScreenUpdating = True
 >
 >End Sub
 >
 >上記を作動させますと、1回目の番号1から5の内容をラベルシートの左側にうまく敵されますが、右側には何も転記されません。
 それから・・・、
 見せていただいたコードの仕様は、
 
 本来は、「データシートの内容を5行づつ、ラベルシートに転記し、印刷する」
 というこでしょうか?
 作業シートに転記する必要性が見えなかったのですが・・・。
 他に理由があったのなら、余計なお世話ですが・・・。
 
 |  |