I have a workbook called wb1 stored in folder C:folder1.
I open the workbook and make some changes to it.
At that point I want to have a macro that will save the workbook with all the changes made in folder C:folder2, under the new name wb2, and somehow delete wb1 from C:folder1.
I'm trying to find a way to save a single sheet of an excel workbook and in the same process delete all vba code and shapes from the new single sheet workbook. I was looking around and found this code which does save only the single sheet to a new one sheet workbook but doesn't delete the vba and shape that I have used to assign macros to in the original.
Code: Sub SaveSheetAsNewBook() Dim wb As Workbook Dim InitFileName As String Dim fileSaveName As String Dim wshape As Shape InitFileName = ThisWorkbook.Path & Format(Date, "mm.dd.yy")
I want to delete all macros from my workbook (so it will work well in Mac 2008). I went to Alt-F11 and deleted all Macros there and check every sheet and found no references. I did all that and when I try to open it in Excel for Mac it says there are still Macros.
Now that the code is configured to do what I want, can someone assist me in adding a code that will delete the expired file after the third attempt of the user trying to open an expired file.
Private Sub Workbook_Open() Dim StartTime#, CurrentTime#
If Dir(ObscurePath & ObscureFile) = Empty Then StartTime = Format(Now, "#0.#########0") Open ObscurePath & ObscureFile For Output As #1 Print #1, StartTime....................................
I currently have the code below that closes all but 1 sheet in my workbook called Main
Is there anyway i can clear a range of cells on a couple of sheets within the workbook when save is pressed?
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) For a = 1 To Sheets.Count If Sheets(a).Name "Main" Then Sheets(a).Visible = 2 Next a End Sub
ive tried creating a macro/code that when you open a certain workbook it automatically deletes the contents. you see i have a workbook containing 100 sheets that i need to update each week but i have to delete all the contents first, is there a quick way to do this when i open the workbook up?
my code to loop through sheets in another workbook does not want to work. in This Workbook (SourceWb), I copy the current workbook using SaveCopyAs and then reopen the new workbook. from ThisWorkbook (SourceWb), I am trying to delete any sheet between "First" and "Last" where a specific criteria is not met. so starting from the For Each to get my loop values, where PMs is a list of people's initials:
I don't believe this is possible but I've been wrong before.. Is it at all possible to Kill the current workbook using VBA? I " saved as" in another location and do not wish to keep the current workbook.
Is this possible to set a macro which will delete the file if opened on another computer? Ie say on WB open I want to set a macro that if Environ(“Username”) = “ABCD” then proceed else delete the file permanently from th e other computers machine. If deletion of file is not possible then deletion of sheets or contents of sheets should be deleted. The sheets will be protected. Expecting a solution to delete the file.
I have a workbook in which certain shape objects (2 command buttons and a combobox) can be present on a worksheet if another macro has been run. When a worksheet is closed and another opened, or the workbook closed, I need the shapes to be cut if they are present. There are other shapes on the sheet which must not be deleted.
Each shape has a defined name which is the worksheet name followed by DD, GetStats and Rfrsh
I have tried the code below but get 'The item with the specified name was not found' error message if the one or more of the shapes are not present. The code works for any of the specified shapes that are present.
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Range("f5:i17").ClearContents If Not Sh.Shapes(Sh.Name & "DD") Is Nothing Then Sh.Shapes(Sh.Name & "DD").Cut If Not Sh.Shapes(Sh.Name & "GetStats") Is Nothing Then Sh.Shapes(Sh.Name & "GetStats").Cut If Not Sh.Shapes(Sh.Name & "Rfrsh") Is Nothing Then Sh.Shapes(Sh.Name & "Rfrsh").Cut
End Sub
I am sure I am not using the 'If Not' and 'Is Nothing' properly but can't figure out how it should be.
I have a code which deletes all contents of cell in range except formulas, from sheet 2 to 13. Code works, but I have included toggle button on each sheet to lock/unlock sheets.
If I lock sheets, code doesn't erase cells as needed.
I have figured out code that works for me, but looks like It's not performing quite correct. Although code executes quite quick...
This is my current code :
[Code] .....
How could I rearrange this code to work in proper order ?
That particular question has been solved, but now i need it to work with multiple values from combobox.
So for example, if "Master" is selected in combobox3, it will delete sheets 7, 8 if "CSR" is selected in combobox3, it will delete sheets 1, 8 if "Original IND" is slected in combobox, it will delete sheets 1,7
The current code will work when "master" is selected, however i am getting compile errors when i select "CSR" or "Original IND"
WhenI select CSR, it does create a new wb for me (without sheets 1,8) correctly but i get a Run time error.
I have working code to unhide specific worksheets from a large number of hidden worksheets and would like to be able to delete all the hidden sheets when the workbook is saved or maybe have a button to delete all the hidden (un-needed) worksheets beside the selection drop-down menu, so that only the selected sheets are saved.
I have a worksheet populated with data. I have sorted the data and have dupulicate values in column B,C,D up to H. I have put in a formula to give me a 1 value in column A where there are duplicates. Is there a way to write a VBA code that will Delete all the rows that have a 1 in column A.
I have a VBA script that works great when run each day, as it's intended. But if a user skips a day, we end up with an error when deleting an old worksheet. The old worksheet to be deleted has a date as the sheet name (i.e. "2014-May-23").
We've developed some code to find the most recent FILE if there wasn't one created on the previous business date, but what VBA code can I enter to correctly identify and delete the old, outdated worksheet? My final spreadsheet should contain just two dates worksheets - one each for the past 2 business dates.
Here's a snippet of my current coding:
Code: Sub Master_3D_Macro() ' ' Master_3D_Macro Macro ' ' Keyboard Shortcut: Ctrl+j ' Dim CurrDate As Date Dim Holidays(1 To 9) As Date
I can delete Sheet5 using this macro. I would like to put this in the workbook so that when I close the workbook it will be activated if Sheet5 exists. If Sheet5 does not exist nothing will happen.
Sub DeleteSheet5 () Application.DisplayAlerts = False Sheets("Sheet5").Delete Application.DisplayAlerts = True End Sub
how to mark the post as solved other than go advanced and selecting solved from the drop down menu can you tell me how?
I have to rewrite this code so that when i copy the sheet and paste it, to paste one Toggle button with its assigned macro. I don't want the whole workbook cause there are one combo box, another four toggle buttons and a command button, that i dont' need in the new file. So only to insert one toggle button with its macro.
Sub FileSaveCopyAs_Click() Dim strFileName As String Dim theNumber As Variant Dim theFirm As String Cells.Select Selection.Copy Workbooks.Add Cells.Select ActiveSheet.Paste theNumber = Sheets(1).Range("F13") theFirm = Sheets(1).Range("E1") strFileName = Right(theNumber, 4) & " " & theFirm ActiveSheet. SaveAs Filename:="C:Documents and SettingsSecretaryDesktopFacturi" & strFileName & (".xls") End Sub
Workbook_1 has a UDF that uses a Range() without any sheet name ( Range("myRange") instead of Sheets(1).Range("myRange") ). Workbook_2 has a macro that deletes a sheet. When the delete statement executes, the cells in Workbook_1 try to recalculate and the UDF returns an error. If I use 'workbooks("Workbook_1").Sheets(1).Range("myRange")' in the UDF then it works properly when WorkBook_2 deletes the sheet. ('Sheets(1).Range("myRange")' still produces an error).