|
>CutCopyModeは入れた方がいいのでしょうか。
Application.CutCopyMode = False
の事ですか?
今回のケースではいれなくても可ですが、
私は極力明示するようにしています。
余談ですが、ActiveSheet.Unprotectは必要ないのでは。
それにActivateしなければVisible変更も必要ありません。
Private Sub test()
Dim ws As Worksheet
Dim InPt As Long
InPt = Application.InputBox(prompt:="No.を入力して下さい。", Type:=1)
If InPt = False Then Exit Sub
If ActiveSheet.Range("$c$5:$c$3000").Find(What:=InPt, _
LookIn:=xlValues, _
lookat:=xlWhole, _
SearchOrder:=xlByColumns, _
MatchByte:=False) Is Nothing Then
MsgBox "No." & InPt & "は登録されていません。"
Exit Sub
End If
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Set ws = ThisWorkbook.Sheets("タグ")
ws.Range("C3").Value = InPt
With Workbooks.Add
With .Sheets(1)
ws.Range("B2:C16").Copy
.Range("B2").PasteSpecial Paste:=xlFormats
.Range("B2").PasteSpecial Paste:=xlValues
.Range("A:A,D:D").ColumnWidth = 0.5
.Columns("B:B").ColumnWidth = 10
.Columns("C:C").ColumnWidth = 50
.Rows(1).RowHeight = 5
.Rows(17).RowHeight = 5
.Columns("E:IV").Hidden = True
.Rows("18:65536").Hidden = True
.Range("c3").Locked = True
.Protect password:="1234"
End With
With .Windows(1)
.DisplayGridlines = False
.DisplayHeadings = False
.DisplayOutline = False
.DisplayZeros = False
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
.DisplayWorkbookTabs = False
End With
.SaveAs Filename:=ThisWorkbook.Path & "\" & InPt & "タグ.xls"
.Close False
End With
ws.Range("C3").ClearContents
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
Set ws = Nothing
MsgBox "タグ作成しました。"
End Sub
|
|