|
いつもお世話になっております。
初歩的な質問ばかりで申し訳ないのですが、また質問させてください。
下のマクロで、書式のコピーをデータのある最後のセルまでと指定したいのですが、
どうやってすればいいでしょうか?
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
|
|