Hi,
what do I need to change, that the code will work with any language set in MSOffice. So far it's just working with 'English'.
I highlighted the language relevant sections in the code in red.
And the second minor problem is, that it is thinkable, that the user might have deleted the UNDO button from his command bar. In that case the code won't work as well.
Any ideas how to change the code in a more "sustainable" way are highly appreciated.
(Excel 2003 in use)
what do I need to change, that the code will work with any language set in MSOffice. So far it's just working with 'English'.
I highlighted the language relevant sections in the code in red.
And the second minor problem is, that it is thinkable, that the user might have deleted the UNDO button from his command bar. In that case the code won't work as well.
Any ideas how to change the code in a more "sustainable" way are highly appreciated.
Rich (BB code):
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
' Purpose: This code will undo PASTE and instead do a PASTE SPECIAL VALUES which will
' allow you to retain FORMATS in all of the cells in all of the sheets, but will
' also allow the user to COPY and PASTE data to unlocked fields in a protected worksheet
'
Dim UndoString As String
Dim srce As Range
On Error GoTo err_handler
UndoString = Application.CommandBars("Standard").Controls("&Undo").List(1)
If Left(UndoString, 5) <> "Paste" And UndoString <> "Auto Fill" Then Exit Sub
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Undo
If UndoString = "Auto Fill" Then
Set srce = Selection
srce.Copy
Target.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.SendKeys "{ESC}"
Union(Target, srce).Select
Else
Target.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
Exit Sub
err_handler:
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
(Excel 2003 in use)
Last edited: