| 
    
     |  | ▼うっち さん 今晩は 
 >ご回答ありがとうございます。行方向を変数にしたいのですが、やはりずれてしまいました。
 >
 
 離れている列は詰められて貼り付けされる原因が分かりました。
 
 「A列〜N列とP列〜R列を一緒に選択したいのですが」これでコピー貼付をやると、
 離れている列は詰められて貼り付けされます。従って
 
 If ActiveCell.Value = "1" Then
 Range("A" & a, "N" & a).Select
 Selection.Copy
 Windows(名 & ".xls").Activate
 Worksheets("名簿").Select
 Cells(65536, 1).End(xlUp).Offset(1).Select
 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
 :=False, Transpose:=False
 
 の部分は、次のようにcopy pasteを2回に分けてやるしかないです。
 
 If Cells(行, r).Value = "1" Then
 '
 Set LastC = Sheets(2).Cells(65536, 1).End(xlUp)
 addrr = "A" & 行 & ":N" & 行
 Range(addrr).Copy
 'Windows("book2.xls").Activate
 LastC.Offset(1).PasteSpecial Paste:=xlPasteValues
 '
 addrr = "P" & 行 & ":R" & 行
 Range(addrr).Copy
 'Windows("book2.xls").Activate
 LastC.Offset(1, 15).PasteSpecial Paste:=xlPasteValues
 
 End If
 
 
 |  |