I use a code in ThisWorkbook to always open on sheet 1 when opening up the excel spreadsheet.Is there a code that I could put in to ThisWorkbook that would do a check that the workbook was e.g. "WorkbookA". If it wasn't then the start up code would be cancelled/ignored.The reason for this is that I am copying this workbook whenthe user has entered details in to it and so I do not want this code to run in the saved workbook, that will have a different name.
I have made a macro that displays a textbox containing the contents of a cell once the cell is clicked. The macro is written in the 'ThisWorkbook' module in the Sub 'Worksheet_SelectionChange'.
Now I want to convert this macro into an add-in so that it works on all the Excel workbooks I open. Is it possible to do this? Or is there a way in which we can automatically put the code in the 'ThisWorkbook' module of any open worksheet (doesn't seem feasible).
I noticed all the code that i have on a userform using activeworkbook will relate to whatever the last active workbook was "who would have guessed hay" Seeing thisworkbook used a lot i decided to go through the whole project and change all activeworkbook too thisworkbook.sheet1 During this i also made a few other changes that i was confident in, When i run it now it errors on the thisworkbook.sheet1. Is this the wrong way of using thisworkbook to make sure the code always deals with the correct file. (will this ever be affected if the file goes through a Save As) Or is it during my over conifedents that i have made a error somewhere else and the debuger is point me here cos it hates me.
I have the below code (pieced together and donated by other users on the forum)
Application.Calculation = xlCalculationManual ' Application.DisplayAlerts = False Application.ScreenUpdating = False Dim Ctr As Long 'set ctr for Invoice Dim wsData, wsInv As Worksheet Dim Ibk, Rbk As Workbook
Set Ibk = Workbooks("Invoice.xls") 'Invoice as Ibk Set wsInv = Workbooks("Invoice.xls").Sheets("Invoice") Workbooks.Open Filename:="\cmc-dc01usersdcMy DocumentsProjectsRemake GoodyearRentCharge.xls" Set Rbk = Workbooks("RentCharge.xls") Set wsData = Workbooks("RentCharge.xls").Sheets("Sheet1") With wsData........
I have written a code but i can not make it stop where i want it to stop. I would like the code stop when cells(31,4).value reaches 0. Pls refer to attached sheet for a clear example.
The code is as follows
Sub production2() If Cells(35, 4).Value > 0 Then Cells(31, 4).Value = Cells(35, 4).Value For j = 5 To 16 If Cells(36, j).Value < Cells(29, 4).Value Then If Cells(31, 4).Value > Cells(29, 4).Value Then Cells(37, j).Value = Cells(29, 4).Value If Cells(36, j).Value < Cells(29, 4).Value Then Cells(37, j).Value = Cells(29, 4).Value Cells(31, 4).Value = Cells(31, 4).Value - Cells(37, j).Value Next j End If End Sub
Trying to get my code to loop for one minute. Have tried this code (after searching through a few threads):
Sub LoopUsingTime() x = 1 EndTime = Now + TimeValue("00:01:00") For lCount = Now() To EndTime Sheet1. Cells(x, 1) = "the time is now " & Now() Sleep 5000 x = x + 1 Next lCount MsgBox ("loop finished") End Sub
Attached is an example of the program. The purpose of this program is to allow someone with very little knowledge about the information to enter data. The first tab labeled "Instructions" is will have two macros assigned to the buttons at the bottom of the page. The first macro labeled "Move Data" will move data will clear data in the shaded cell on the "Entry Form" sheet and fill those cells in with '----. The second macro labeled "Generate and Save" will save a master copy of the program, save a historical copy of the program by date, and print/save a pdf copy of the "Reports" sheet.
Each one of the historical (the last 8 sheets of the program) sheet receives data from the "Entry Form" and then moves the data by date into the table for archiving purposes.
If you look at the code for the "Entry Form". I have a couple of subs. The first being Worksheet_change. the first section of this code is to force certain cells to be uppercase. This part of the code is working fine. The second part of the code is the Dim MyValues. This part is working fine also, but...
My issue is... When I run the move data macro from the "Instructions" sheet the Dim MyValues reads these as changes to the cells and wants to push the data to the historical sheets.
What I would like is an IF Statement above the Dim MyValues part of this code that stops the Dim MyValue part of the code running if those values are blank, 0, or have '---- entered into them.
The code that I'm using is supposedly not allow spreadsheet to be opened after a certain date, or does not allow a user to press any of the command buttons and comes up with a message saying the spreadsheet is closed for new entries.But is not working for me.
I have the following code to add dash mark to TextBox1 value depending on some condtions (mentioned in the code), the code works perfectly, but when we use Backspace Key to clear some charactors it is conflicting with the code running when changing Textbox1 value.
I have created a few macros and once I was happy that they worked independently I joined them to run as one macro in several steps. I have just discovered a bug ...
The macro filters on a column and copies and pastes that range into another sheet.
HOwever, sometimes (as I have just discovered) when it filters, there will be no data against the value it is looking for.
I need to say, if no value, move to next step.
I.e. here's my code. It's looking for ASIA and it will copy and paste all rows with Asia to another page. It then does the same for EMEA. Thing is, in my example just now, there was no EMEA data and some times there may be no ASIA data so I need to build in some rules that if it does not find either of these it continues to finish macro or pops up and says 'NO ASIA found, CLick to continue' or something?
how I can disable an InputBox? I've got some code that whenever someone selects a cell in a specified range, an input box pops up (running a macro) - this can get annoying sometimes though if just browsing. Does anyone know a macro where I can "disable" this?
I do not want ThisWorkBook to close prematurely whenever the specified Activeworkbook is closed without saving because there are other tasks to complete. The Workbook_BeforeClose dun seem to fix it for my case below.
Here’s my situation. I want to copy data from a range of a particular protected sheet in 5 (password-protected) workbooks of a similar format, to 5 worksheets(unprotected) in ThisWorkBook, which is the Master Workbook. The password of the protected sheet is common to the 5 workbooks. The passwords of the 5 workbooks are contained in a sheet in ThisWorkbook. After copying the data from Workbook1 ( 1 of 5), ThisWorkbook are prompted for closure, when Workbook1 is closed without saving. Responding to the prompt to save or not to save, forces ThisWorkbook or MasterWorkbook to break the For-Next loop. By setting Cancel = True in Workbook_BeforeClose, I can stop Thisworkbook from closure, but I will still break the For-Next loop. I have considered the method of copying data from a closed workbook, but I dun think VBA allows copying or referencing a closed workbook which is password protected at workbook and worksheet level.
Here’s my coding :
Dim MasterWB As Workbook Dim TempWB As Workbook Dim Source As String
Set MyWB = ThisWorkbook For i = 1 to 5 Set TempWB = Workbooks.Open (Filename:=WB(i), Password:=password(i) ) TempWB.Sheets("ProtectedSheet").Unprotect Password:="SheetPasswd" MyWB.Sheets(i).Range(XXX).Value = TempWB.Sheets("ProtectedSheet").Range(YYY) TempWB.Close False ‘dun want to respond toclose ThisWorkbook else it breaks for-next loop Next i
When in a ThisWorkbook macro, I want to call a sub/macro in a Module. Usually you can just do a CALL MACRO1, and it will find it. But my MACRO1 is Private as I don't the users to be able to do a Tools, Macro, Macros and see it. So I don't want to make it a Public macro. So how do I call the private sub/macro from within ThisWorkbook?
Can I proceed the sub/macro's name with the name of the module, kind of like CALL MODULE1.MACRO1? Or do I have to make it public?
I have a simple macro that copies data from worksheet to another. I only want this macro to be run once per day by the user. One of the cells that gets copied is the value found in the formula "=today()". My thought is that the macro could look for the existance of the current date in the pasted data (meaning the macro has already been run once today), and if the date = today, then a message pops up warning the user that the macro has already been run once today, and ask if they're sure they want to continue.
Any easy way to accomplish what I'm attempting to do? The current date gets pasted into a worksheet name "PriorDay" in cell C5.
I've got a worksheet_selectionchange macro on a sheet, and another macro that you can run after it. The issue is that when the second macro runs, it also runs the selectionchange macro, and wipes some of the info that the second macro should be copying.
Is there a piece of code that I can use in the second macro to block the selectionchance code from running until it's compelte?
my excel sheet runs through a lot of calculations, opens Flowmaster, a simulations program, passes on data, receivs data and so on. Is there any way to have a user input to stop the whole simulation. During the first tries I had a lot of break point in my debugger. But now I want to have a button to hit or better just some keys to hit to stop it without using the ctrl+alt+del which closes everything.
I am trying to figure out the correct way to copy the "ThisWorkbook" module from one file to another. I have looked at Chip Pearson's website page on the topic but am still confused. If its only this one component that you wish to take to the new file.
I use excel 2002 but some of my office are on 97, i want to add a small workbook open event code which works for me but debugs for the others?? The code is basically, go to a tab, on that tab and that range sort..