Forum Discussion
Michael Simpler
Mar 29, 2017Copper Contributor
Macro enabled workbooks wont open in Excel 2016
I have two sheets in a workbook. One is protected accept about two dozen cells. The other is not protected. When I run a macro to copy and paste 19 cells from the unprotected sheet to 19 cells in the protected sheet, 8 of the pastes go to unprotected cells to allow the user to edit those cells. After the macro runs, the 8 cells are protected.
I unprotect the sheet, format the 8 cells as unlocked AGAIN, save, protect sheet, the cells are unlocked as they should be, until I run the macro.
Private Sub Workbook_Open()
' Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
' Application.DisplayFormulaBar = False
' Application.DisplayStatusBar = Not Application.DisplayStatusBar
' ActiveWindow.DisplayWorkbookTabs = False
Sheets("user").Protect Password:="1goodjob", _
UserInterFaceOnly:=True
End Sub
Any help would be greatly appreciated!
Thanks, Mike
Hi Michael
Can you clarify what your issue is and post the code for your copy/paste action
Thanks
Wyn
- Michael SimplerCopper Contributor
Hi Wyn, and thanks for the reply. I just resolved the issue with a paste special.
BUT, I have another issue you may be able to help me with. I have a user form to search previous records in a table on another sheet named "data base" and load them in to a worksheet. The form has a list box displaying the first 6 columns from the data base, a textbox to enter what to search for, and control buttons. The Find button has a find next code, and the load button copies info from the selected row of data in the data base to various cells in a work sheet.
The codes work great, but they work in the "data base" sheet, and totally ignor the list box on the user form. When I step through the code in split screen I see it go right to the sheet. How do I get the command buttons to work with the list box in the same user form?
Thanks, Mike
Option Explicit
__________________________________________________________
Private Sub CommandButton3_Click()
' laods record into work sheet
'
' Clearing user worksheet before loading
Sheets("user").Select
Range("D4").Select
Selection.ClearContents
Range("D6:E14").Select
Selection.ClearContents
Range("F4").Select
Selection.ClearContents
Range("E6:E14").Select
Selection.ClearContents
Range("H4").Select
Selection.ClearContents
Range("G6:G14").Select
Selection.ClearContents
Range("J4").Select
Selection.ClearContents
Range("I6:I14").Select
Selection.ClearContents
Range("L4").Select
Selection.ClearContents
Range("K6:K14").Select
Selection.ClearContents
Range("N4").Select
Selection.ClearContents
Range("M6:M14").Select
Selection.ClearContents
Range("P4").Select
Selection.ClearContents
Range("O6:O14").Select
Selection.ClearContents
Range("R4").Select
Selection.ClearContents
Range("Q6:Q14").Select
Selection.ClearContents
Range("T4").Select
Selection.ClearContents
Range("S6:S14").Select
Selection.ClearContents
Range("F18").Select
Selection.ClearContents
Range("E20:E28").Select
Selection.ClearContents
Range("H18").Select
Selection.ClearContents
Range("G20:G28").Select
Selection.ClearContents
Range("J18").Select
Selection.ClearContents
Range("I20:I28").Select
Selection.ClearContents
Range("L18").Select
Selection.ClearContents
Range("K20:K28").Select
Selection.ClearContents
Range("N18").Select
Selection.ClearContents
Range("M20:M28").Select
Selection.ClearContents
Range("P18").Select
Selection.ClearContents
Range("O20:O28").Select
Selection.ClearContents
Range("R18").Select
Selection.ClearContents
Range("Q20:Q28").Select
Selection.ClearContents
Range("T18:T29").Select
Selection.ClearContents
Range("C_Comments") = "Verylak base, Hentzen R, B, W, L, Verylak N, Y"
Range("C_Sales_Order_No.").Select
Selection.ClearContents
Range("C_Customer_Name").Select
Selection.ClearContents
Range("C_Color_Name") = "none"
Range("C_Manufacturer") = "none"
Range("C_Date") = Date
Range("C_Specie").Select
Selection.ClearContents
Range("C_New_Batch_Base").Select
Selection.ClearContents
' Loading
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 1).Select
Selection.Copy
Sheets("user").Select
Range("C_Sales_Order_No.").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 2).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_Customer_Name").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 3).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_Specie").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 4).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_Color_Name").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 5).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_Manufacturer").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 6).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_Date").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 7).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_Comments").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 8).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_Base").Select
ActiveSheet.Paste
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 9).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_Red").Select
ActiveSheet.Paste
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 10).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_Brown").Select
ActiveSheet.Paste
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 11).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_Black").Select
ActiveSheet.Paste
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 12).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_Yellow").Select
ActiveSheet.Paste
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 13).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_White").Select
ActiveSheet.Paste
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 14).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_Blue").Select
ActiveSheet.Paste
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 15).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_Misc1").Select
ActiveSheet.Paste
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 16).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_Misc2").Select
ActiveSheet.Paste
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 17).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_TotalVolume").Select
ActiveSheet.Paste
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 18).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("user").Select
Range("C_Can").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("data base").Select
Cells(Application.ActiveCell.Row, 19).Select
Application.CutCopyMode = False
Selection.Copy
Range("A2").Select
Sheets("user").Select
Range("C_CanStain").Select
ActiveSheet.Paste
Range("T20:T28").Select
Application.CutCopyMode = False
Selection.Copy
Range("D6:D14").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("C_New_Batch_Base").Select
frmSearch.Hide
End Sub
____________________________________________________________________
Private Sub CommandButton4_Click()
' search with FIND NEXT loop
Dim SearchRange As Range
Dim WantCell As Range
Dim Wanted As String
Dim FirstWantCell As String
Wanted = tbxSenter.Value
Set SearchRange = Range("A2", Range("F2").End(xlDown))
Set WantCell = SearchRange.Find(What:=Wanted, MatchCase:=False, LookAt:=xlPart)
If WantCell Is Nothing Then
MsgBox "No records found."
Else
FirstWantCell = WantCell.Address
Do
WantCell.Select
Set WantCell = SearchRange.FindNext(WantCell)
Loop While WantCell.Address <> FirstWantCell
End If
End Sub
_______________________________________________________________________
Private Sub lbxSearchResult_Click()
End Sub
____________________________________________________________________
Private Sub UserForm_Click()
End Sub