| 
    
     |  | いつもお世話になっております。 初歩的な質問ばかりで申し訳ないのですが、また質問させてください。
 下のマクロで、書式のコピーをデータのある最後のセルまでと指定したいのですが、
 どうやってすればいいでしょうか?
 With ThisWorkbook.Worksheets("ユーザー一覧表").Range("B14:H65536")とすれば、
 コピーできるのですが、そうすると先日Nedさんに解決していただいた問題が
 また降り出しに戻ってしまいます。
 コピーする範囲はB4:H13で貼り付け先をデータのある最後のセルまでにするには
 どうすればいいでしょうか?
 データの抽出部分にcopyを使わず、valueを使う方法もやってみたのですが、
 うまくいきませんでした。
 お願いばかりですみませんがご教授下さい。
 
 
 Private Sub commandbutton1_click()
 Dim FileName As String
 Dim WB As Workbook
 Dim MYPATH As String
 Dim r1 As Long
 Worksheets("ユーザー一覧表").Range("A4:AB65536").Clear
 MYPATH = "\\gggg\ggg\出荷一覧\一覧表\"
 strFileName = MYPATH & "注文一覧表" & ".xls"
 If Dir(strFileName) <> "" Then
 Set WB = Workbooks.Open(strFileName)
 With WB.ActiveSheet
 r = .Range("c65536").End(xlUp).Row
 ActiveSheet.Outline.ShowLevels ColumnLevels:=2
 .Range("A4:G" & r & ",K4:AE" & r).Copy _
 ThisWorkbook.Worksheets("ユーザー一覧表").Range("A4")
 '書式のコピー
 .Range("A:A").Select
 Selection.ColumnWidth = 3
 .Range("B4:H4").Select
 Selection.Font.ColorIndex = 3
 .Range("B4:H13").Copy
 With ThisWorkbook.Worksheets("ユーザー一覧表").Range("B14")
 .PasteSpecial Paste:=xlFormats
 End With
 '注文一覧表を保存せずに閉じる
 WB.Close savechanges:=False
 Set WB = Nothing
 'WBがない時
 Unload UserForm1
 End With
 Else
 'ファイルがない時
 MsgBox strFileName & "がありません"
 End If
 End Sub
 
 Private Sub commandbutton2_click()
 Unload UserForm1
 MsgBox "データは更新されません"
 End Sub
 
 |  |