Code Protection Stops Re-Naming Codename
Jan 4, 2007I have a Userform that allows a user to select a year eg (2007) from a listbox called yearbox where Yearbox.Value = AddYear. When the user Presses 'OK' the following code runs: ...
View 9 RepliesI have a Userform that allows a user to select a year eg (2007) from a listbox called yearbox where Yearbox.Value = AddYear. When the user Presses 'OK' the following code runs: ...
View 9 RepliesI want to make the worksheet protected, however, when I protect the worksheet the macro will not run.
View 14 Replies View RelatedMy code below works great all the way to the end. When the last message box comes up, If the user chooses Yes. I want them to be directed to the sheet "C123". But currently it just stays on the sheet that I named "Home".
What am I missing here?
Private Sub CommandButton1_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Log")
'find first empty row in database
iRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row
'check for a Reason Code
If Trim(Me.ComboBox2.Value) = "" Then
Me.ComboBox2.SetFocus
MsgBox "Please enter a reason code and ensure that date is correct!"
Exit Sub
End If
I have 3 Work books - one (WB1) checks its version number against an online record and if they dont match it opens WB2 which then proceeds to download the updated version copy information from WB1 to its self which it then pastes into WB3
WB1 then gets deleted and WB3 Renamed to the old name of WB1
the issue i have is when i open WB2 using the button that also checks for updates on WB1.
WB2's code seems to just stop when it gets to the point of updating WB3 no error messages or nothing it just stops!
NewMasters(2).xls = WB1
Updater.xls = WB2
NewVersion.xls = WB3
I am using Excel 2003 work PC, and when i run this simple code it stops during the loop, I have had this problem a bit its like something is hitting the esc key or ctrl - break. But no keys are being hit or are sticking.
I have closed Excel and created new work book pasted the code in but it still stops at r = r - 1, haven't done a restart yet.
Sub Macro2()
Dim r As Integer
r = 10
Do Until r = 0
ActiveCell.Value = ("Shut down in " & r)
Application.Wait Now + TimeValue("0:00:01")
r = r - 1
Loop
Application.Quit
End Sub
I'm using Excel 2007 and my s/s is 360000 rows deep.
To cut+paste formulas+formats from one column to another I'm using the following
Sub move_formula_and_formats_from_I_to_L()
Dim cell As Range
Application.ScreenUpdating = False
For Each cell In Range("I1", Cells(Rows.Count, "I").End(xlUp))
With cell
If .HasFormula And Not .Offset(1).HasFormula Then
.Cut Destination:=.Offset(1, 3)
End If
End With
Next cell
Application.ScreenUpdating = True
End Sub
The code stops working after 159000 rows and highlights (in yellow) the line:
.Cut Destination:=.Offset(1, 3)
I have an Access program that acts as a dashboard to open Excel reports. One of the Excel workbooks opens a form in the Auto_Open routine. My problem is that control is never passed back to access after the form opens. It appears that the code stops executing until the userform is closed. How can I open the excel workbook, show the Excel userform, and continue processing my Access code?
Set XL = Excel.Application
With XL
.Workbooks.Open FileName:=FileName, ReadOnly:=True
. ActiveWorkbook.RunAutoMacros xlAutoOpen
End With
XL.Visible = True
' Excel Code
Sub Auto_Open()
Unload UserForm1
UserForm1.Show
' The code get "stuck" right here
End Sub
I am attempting to show a User Form during the forms Initialize code. I Load the form after extracting data from a SQL Server database. The code that Loads the form is returned to after the form closes. The problem is that when I run through the Initialize code where criteria decides whether the form is actually shown to the user. If the criteria is not met there are no issue, but if the criteria is met, then the form is opened and the rest of the Initialize code is not stepped through. As there are many If Then and a Select Case and a couple With...'s I need the rest of the Initialized code to be stepped through so after the form is closed by the user and the original code which Loaded the form is returned to I do not get an error.
Oh and the big problem is that I am not getting an error message during this, the Load code is actually repeated because when the original code is actually returned to is returned on the Load UserForm code.
Private Sub UserForm_Initialize()
Dim i As Integer, Endofdata As Integer, wsheet3 As Worksheet, wbBook As Workbook
Dim wsSheet As Worksheet, c As Variant, gTotal As Long, Score As String, g3000 As Long
Dim gTotalAdd As Integer
On Error Goto ErrorHandler:
Application. ScreenUpdating = False
'cmbIDCountry.ColumnCount = 2
Set wbBook = ThisWorkbook
Set wsheet3 = wbBook.Worksheets("UpdateDetails")
Set wsSheet = wbBook.Worksheets("Data") ....................
I usually just use macros to clean up Data from non-excel sources. So I wrote a macro to do this, but the process requires a date to be added, so attempted to do this via an input box. The input box works, but the code doesn't, clicking the button to which the macro is bound spits out an error 91 (object out of bounds?) when it hits the search function right after the inputbox code. Both bits work as intended separately, so I guess it's just some moronic formatting error on my behalf.
[Code] ......
We're using XP Pro using Excel 07
The background is there are about 40 people who use a Excel based program that contains a pivot and a bunch of other tools that they use on a regular basis, this set of tools has a version number. In this excel workbook, it has a function that looks on the network drive that we have and checks the local version vs the version on our network drive, if its wrong, then the user gets a popup stating your tools are out of date, would you like to update, then they click yes and I have these lines of code
Public Function GetNewTools()
Dim MyFullName As String
'Turn off alerts
Application.DisplayAlerts = False
'Open the new version of tools
Workbooks.Open Filename:= _
"Network DriveUpdate.xlsm"
End Function
The update file has this code that executes on fileopen in the thisworkbook section by calling the following sub
The main issue we're running into is near the very end, the code never makes it to "TEST 2". After the first workbooks close, the code just stops running. No crashes, errors, freezes, anything. It just stops running and never makes it to the second msg box.
I have built a small userform with 3 fields. The macro ran OK first few times. Now, when user enters data in the form and clicks OK nothing happens. I found that repeated clicking on OK or Cancel button on form had no effect. I then observed that VBA editor was open and the yellow cursor was displayed on the first code line under cmdOK_click procedure. The code line was also highlighted in yellow. There are no errors to debug and no break points etc. When I clicked the Run (or Continue) icon from the VBA toolbar, the macro completed OK. Question: Why is the macro pausing on the first line and how can I make it run without pausing for no apparent reason.
View 4 Replies View RelatedI have a textbox from the drawing toolbar. When someone changes a cell then clicks in the textbox, Worksheet_Change does not run. If they double click in the cell, that's OK I can capture that event and protect the sheet, stopping them clicking in it. But if they just start typing in the cell, I can't capture that. I have seen some API code which captures keypresses, but it is not practical to use as it loops repeatedly. I could lock the textbox and have the user do something to unlock it, but this is a last resort.
View 7 Replies View RelatedI'm trying to make a VBA project backward-compatible from Excel 2003 to Excel 2000. My problem stems from Excel 2000's inability to save a file if the VBA project protection is enabled and the password has not been entered. I am trying to code around the problem by turning off screen updating, using .SendKeys to enter the password, saving the file, and then re-enabling protection of the project. The only way that I have been able to re-enable protection in practice is to close the file and re-open it, but I haven't been able to accomplish this using VB script.
View 9 Replies View RelatedI have a workbook that contains macros. When the workbook is protected, the macro returns an error so I have unprotected the workbook but, if someone protects the workbook and saves it, it returns an error when closing and even if they choose cancel, it still screws up the macro and prevents it from working upon reopen.
Is there a way to prevent someone from protecting the workbook in vb code?
I`m struggling to insert password protection to code.If Yes is selected from the messagebox then a messagebox opens and asks for a password.
Code:
Sub DeleteRanges()
If MsgBox("Are you sure you want to delete data ?", vbYesNoCancel + vbExclamation, "Delete data") = vbYes Then
With Sheets("Score")
For i = 3 To 273 Step 10
.Range("D" & i).Resize(7, 11).ClearContents
Next
End With
End If
End Sub
I prtected several sheets with the xlVeryHidden command I got from you. But when the user does not allow Macros to be executed, also these protections are not executed. Does there exist any solution to this problem? Something like "when macros are not allowed do NOT open file"?
Sub workbook_open()
Application.DisplayAlerts = False
Application. ScreenUpdating = False
Application.AskToUpdateLinks = False
Windows("rechenfile.xls").Activate
Sheets("Daten").Visible = xlVeryHidden
Sheets("Koeffizient").Visible = xlVeryHidden
Sheets("Investitionen").Visible = xlVeryHidden
Sheets("Konsum").Visible = xlVeryHidden
Sheets("Zinssatz_permanent").Visible = xlVeryHidden
Sheets("Preise").Visible = xlVeryHidden
Sheets("Nettotransfers").Visible = xlVeryHidden
Sheets("Beschäftigung").Visible = xlVeryHidden
Sheets("Löhne").Visible = xlVeryHidden
Sheets("Nettoexporte").Visible = xlVeryHidden
End Sub
When turning on sheet protection, I get an error with the following code that I'm using to make sure rows adjust their height when lines wrap.
Rows.EntireRow.AutoFit
What can be done to eliminate this conflict? All of the cells I want available for editing are unlocked.
I have a 2010 excel workbook with several locked worksheet (to which I manage the PW). I and another staff member manage different section of the macro but the other staff member doesn't have access to the locked areas.
Is there a way I can encrypt the password within VBA so it's not visible to the other staff member?
Locking the VBAProject doesn't work as the other staff member has to be able to edit his VBA section.
Many staff run the macro (via a button) and don't need to access the Macro and don't have access to the protected sheets.
I understand excel isn't ideal with PW protection for people wanting to bypass the protection and this isn't an issue.
I can get a worksheet name and index, how do I get the worksheet (Name)?
Example:
I delete sheet1, copy sheet3 before sheet2, rename to sheet1 but the VBA name is Sheet4. The index number will be 1 but it is not Sheet1 in the VBA Project Explorer.
I am trying to use a variable to refer to the worksheet code name and get excel to tell me the name of the worksheet.
Dim ShNum As Integer
Dim ShCodeName As Worksheet
ShNum = 5
ShCodeName = "Sheet" & ShNum
'what i need is the worksheet name
MsgBox ShCodeName.Name
I am writing a VBA macro to update a financial workbook. 10 of the sheets within the file are re-names depending on the start of production date. So, in one file they may be CY09, CY10, CY11...and then in another CY10, CY11, CY12. I need to update the Cell L14 on the first CY page to a value on the BOM page.
I want CYXX!F12 = BOM!L14
And CYXX's code name is Sheet3411
To do this, I want to use the code name - because it is the same in all the files I have (100+).
But I cannot find enough/right Codename reference information to make this work.
I tried:
Sheet3411.Range("F12").FormulaR1C1 = "=BOM!R[2]C[6]"
Sheets(Sheet3411).Range("F12").FormulaR1C1.....
I would appreciate if someone could help with this particular issue. (A little explanation of when I can and cannot use the codename would be appreciated as well. As this is something I will be maintaining for years.)
I want to be able to safeguard against a user changing the name of a worksheet, so I use the sheet's codename in all my macros.
I have the codename of a sheet: shOptions
From a different workbook, "ActiveWorkbook.shOptions" doesn't work. How can I use "shOptions" in the other workbook.
The below example creates a new worksheet and tries to get the new worksheets codename. The problem is when I run the code, I can't seem to be able to pull the codename from the newly created sheet (ie Cell A1 = "" instead of "sheetx").
Sub test()Set mysht = ThisWorkbook.Worksheets.Add    x = mysht.CodeName    mysht.Range("A1") = xEnd Sub
This is a simplified version of an earlier, long winded post that clouded my actual question.
Can I use a variable to refer to a worksheet by its CodeName? For example, let's assume I have several worksheets, with CodeNames of mySheet1, mySheet2, mySheet3, and so on. I understand that I can refer to them directly,
mySheet1.Range(myRangeName).value = someValue
mySheet2.Range(myRangeName).value = someValue
mySheet3.Range(myRangeName).value = someValue
.
but what if I want to do this using a loop? Is it possible to preload an array of CodeNames and do it that way? I'm thinking along the lines of something like...
Dim CodeNames
CodeNames = Array( mySheet1, mySheet2, mySheet3 ...)
For x = 1 to HoweverMany
CodeNames(x).Range(myRangeName).value = someValue
Next x
I'm tring to create a newsheet and rename the codename but it doesnt seem to be working. Here is my
Private Sub Update_Button_Click()
AddYear = YearBox.Value
WFName = "WF Tracker SITE " + AddYear
wf = "WF_Edin_" + AddYear
Sheets.Add After:=WF_Template
ActiveSheet. Name = WFName
Sheets(WFName).CodeName = wf 'This line wont work
End Sub
Reference: [url]
I delete sheet1, copy sheet3, rename to sheet1 and then attempt to rename the CodeName to Sheet1 as well.
This worked initially with out errors.
Now on the first run of the macro it generates an error:
Run-time error '32813':
Method 'name' of object '_VBComponent' failed
This fails to rename the CodeName of "Sheet1" (.Name)
Run it again and it renames the CodeName but generates yet another error:
Run-time error '-2147221080 (800401a8)':
automation error
I recieve an error :
Run-time error '50289':
Can't perform operation since the project is protected.
When i try and run my code.
The code does add parts to modules and workbook events, but I need the code to be protected.
The macro stops in the last row - it isn't able to select a cell in another sheet than "Menu" (I tested it different variations).
View 9 Replies View RelatedI have a spread sheet which has a number of protected cells so that they user can tab only on required cells to enter data. At times some of the rows are hidden however pressing "TAB" will continue to tab through on the cells within the Hidden Rows. Is it possible to only TAB through Cells which are visible?
View 1 Replies View Relatedi ran some tests and it was working good only doing folders with ~100 files. i tried running the macro on all the files (~70,000), but I ran into problems with the computer going into standby while I was away. I tried running a batch of 3000 files and it completed, but only got up to around ~400 out of ~3000 records. Maybe, it stops cause of code related inefficiencies?
Here's the code:
macro_forexcelforum.txt