I have quite a few Excel templates that need to be modified by changing/adding information or sheets to them. Instead of working through the lot manually, it would be good if I could do the same through code. With my little knowledge I can do this for workbooks. Need to typical code snippets or suggestions? e.g. to open a template file, save it with the original name, etc. The usual Dim srcWB as workbook, Set srcWB= ABC.xls and Workbooks(ABC.xls). open do not seem to work with template files (ABC.xlt)
I have this macro that I use for taking information based column B grouping it together and putting in a separate worksheet.
What I would like to do is in the master sheet (sheet1) to create a hyperlink for those listed in column B so I can click on it and it takes me right to that worksheet.
Sub exporttoWS() Application.ScreenUpdating = False Dim i As Range, LR As Long, ws As Worksheet, wb As Workbook, C As Range Sheets("Sheet1").Select Range("A1").Select 'looking at the full length of the file LR = Range("A" & Rows.Count).End(xlUp).Row 'sheet needs to be named sheet1, all data should begin on row 3
I have a code here, which thanks to Jindon helps on yesterday, But now, I want to change the code to count by column instead of rows, to continuous copy & paste my date, How can it to modify:
Sub test() Dim home As Worksheet Dim Filename As String, myDir As String, fn As String Set home = ThisWorkbook.ActiveSheet With Application.FileDialog(msoFileDialogOpen) .AllowMultiSelect = False If .Show = -1 Then Filename = .SelectedItems(1) myDir = Left$(Filename, InStrRev(Filename, "")) fn = Mid$(Filename, InStrRev(Filename, "") + 1) With home.Cells(Rows.Count, "E").End(xlUp)(2).Resize(2) .Formula = "='" & myDir & "[" & fn & "]MAN_SUM'!k6" .Value = .Value End With End If End With End Sub
I need a VBA code for the Excel sheet that i am cuttently working in that will do the following:
i have text and pictures in range O86:W97 that must be automaticaly romoved & replaced by another range after the above mentioned code hase complete
the range that must be replaced with the following, O101:w112 Pdf code must run then O113:w124 pdf code must run then O125:w136 pdf code must run then O137:w148 pdf code must run then O149:w160 pdf code must run then
note that the ranges run in a sequence 101to112 then 113to124 then 125to136 and so on
Now this needs to be repeated 190 time starting from range O101:w112. The range O86:w97 forms part of my print area of A1:W97, this means i will have 190 PDF saved pdf sheets when i the vba code is complete.
I managed to do the combine the row if column B matches. However column D(quantity, number value), i want the quantity to add-up if column B matches. Any idea how do I modify the code below to do that?
for example: TDG-**002 Tuna Cheese Pizza Bar (KG) KG 30 TDG-**002 Tuna Cheese Pizza Bar (MG) MG 30 TDG-**002 Tuna Cheese Pizza Bar (KG) KG 30
will combine to become TDG-**002 Tuna Cheese Pizza Bar (KG) KG 60
I got this code from someone who is not currently available, I modified it a little so that when I pick a picture it always lands on j96, but I need it to line up exactly on top of the picture underneath it I have also attached a sample. The pictures will always be exactly the same size
I was trying to see if this code would work for my application where I want to compare two forms. Basically the master is filled out and then sent to a vendor. When it comes back from them rather than going through then entire thing and trying to determine if they changed or added anything manually I was hoping to use something like this code to do it.. I tried this code using a similar setup, basically a master file and an update file but it wouldn't actually populate the changes in the changes sheet on the master form..
I am using the following code, slightly modified, written by Tom Urtis.
I would like to enhance the code such that it will filter on two criteria to enable more specific results to obtained e.g. from the possibilities below I would like to get "Jones Manchester".
Data list:- Jones Blackburn Jones Liverpool Jones York Jones Manchester Jones London EC1 Jones London N12
Private Sub Worksheet_Change(ByVal Target As Range) With Target If .Address "$D$1" Or .Cells.Count > 1 Then Exit Sub ActiveSheet.AutoFilterMode = False If Len(.Text) > 0 Then Dim myVal$, myVal2$ myVal = .Value myVal = "*" & myVal & "*" If WorksheetFunction.CountIf(Columns(1), myVal) > 0 Then
I wanted to change a column text to call intial Caps. I found this macro code on the microsoft web site
Sub Proper_Case() ' Loop to cycle through each cell in the specified range. For Each x In Range("C1:C5") ' There is not a Proper function in Visual Basic for Applications. ' So, you must use the worksheet function in the following form: x.Value = Application.Proper(x.Value) Next End Sub
I need to change the macro to have a input box (asking what column to convert text to initial CAPS)
Private Sub CommandButton1_Click() Dim strFirstAddress As String With Sheet1.UsedRange Set rngFind = . Find(ComboBox1.Text, LookIn:=xlValues) If Not rngFind Is Nothing Then strFirstAddress = rngFind.Address Do rngFind.EntireRow.Copy sheet3. Range("a" & sheet3.Rows.Count).End(xlUp).Offset(1, 0) Set rngFind = .FindNext(rngFind) Loop While Not rngFind Is Nothing And rngFind.Address <> strFirstAddress End If End With Unload UserForm2 UserForm4.Show End Sub
The problem is it searches the whole sheet, what I want it to do is only search one colomn (colomn A). I know its prob an esay thing to change but I can't for the life of me do it!
I am trying to design a tool which dynamically results in different cells depending on users inputs. Yet, I am willing to protect most of the cells to avoid any user involuntarily (or voluntarily!) modifying the formulas/contents of the calculated (and locked) cells. Is there any way to protect my sheets, allowing only a certain macro to modify the locked and protected cells?
I have the code below set to change the background color based on certain conditions. What I need to do is change it so that if none of the conditions are met, it does not change the color at all. As it is written now, if anything is entered in a cell that has a background already set, but does not meet these conditions, the cell turns white.
I am using the following code to copy the contents of a DDE feed.
Code: Private Sub Worksheet_Calculate() Worksheets("Sheet2").Range("A1").EntireRow.Insert Shift:=xlDown Worksheets("Sheet1").Range("A3:F3").Copy Worksheets("Sheet2").Range("A1:F1").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False End Sub
What I want to do is only copy the row when the columns contain data, as it stands at the moment it's copying blank rows to sheet 2. Is there a way that I can do this?
I found the code below and it works perfectly if I want to copy all the other sheets to a master sheet. But, I need to specify specific sheets. Basically I have a workbook consisting of multiple sheets and multiple "master" sheets so I need to specify in the code which sheets it should be copying.
I searched many sites and used codes which delete Rows based on criteria. In my case those codes works, BUT it took so much time about 30 min since there is about 75 thsd rows, and that solution in not time saver. I recorded code below and it is done in seconds. make it dynamic, VBA, since number of rows is every month larger. Basicly, I need code which delete rows based on Column B, where walue is "R"
Code: Sub DelRowsBasedOnOneCriteria() ' ' DelRowsBasedOnOneCriteria Macro
I'm working on a spreadsheet to compile and print checks. All the check information except the date and first check number is contained in a Wins sheet. I also have a Checks sheet which contains a master check. I used text boxes on the master check to contain individual check information. Each text box is filled in from the Wins sheet by means of formulas. The problem I'm having is how to modify the formula entries in the following code to cycle or loop through all checks required. A sample spreadsheet is attached.
Code below. I need it to NOT run if the sheet week2 doesn't exist. Currently it gives a runtime error '9' out of range. This is due tot he sheet not being present because sometimes it is not generated.
Sub RemoveColWeek2sheet() Dim ColNo As Integer Dim rng As Range Set rng = ThisWorkbook.Sheets("Week2").UsedRange
I have a workbook that is tracking part-time faculty appointments. Names and appointment details are entered on the first worksheet ("Entry"). I have another worksheet that pulls data from Entry to generate a summary of the salary for each appointment. Right now, this worksheet is called "Template" that needs to be copied and renamed for each appointment entered.
So, Entry could have up to 56 columns of data entered. There are nearly 100 rows of information for each entry (portrait-style for ease of printing). Columns A and B are information and will not have any entries. Column C is the starting point for the entry of appointments. Cell C5 will have the first appointment Name.
What I want is to create a macro that will copy the Template worksheet as many times as there are names entered from C5 and beyond (D5, E5, F5, etc.) When it creates each new worksheet, I want it to rename the new worksheet with the contents of row 5. For example, if "Smith, J." (without the quotes) is entered in C5, I want a copy of the worksheet Template called Smith, J.
The renaming of the sheet is important because I have a cell in Template that pulls the worksheet name, which is then referenced by cells in Template to pull the information pertaining to that appointment.
What I have seen here on Mr.Excel is a macro to rename a worksheet based on a specified cell, and I've seen something that looks like it created new worksheets, but I haven't seen the two put together like I'm looking for. I am also not that adept at the VBA, so I haven't really been able to figure out how to cobble it together myself.
To summarize: - I have two worksheets: Entry and Template - Names are entered into cells (C5, D5, E5, F5, etc.) on Entry - I need to copy Template as many times as Names are entered and rename each new copy with that Name (also, new sheets should be generated at the end (right) of the current list of worksheets) - The whole process can be activated by a button on Entry
I have been trying to create new worksheets, name them and create webquery according to the input on table B4:C13 in test1 sheet attached (code is in module 1). After I run the code it stops after creating sheet with name 1 and shows error 1004. here it is the
I want to create 4 quarter sheets at the same time, but my code could only process 1 quarter sheet each time. Also, I have trouble of copying and pasting the values from yearsheet to the quarter sheets. ( see attachment document )
Attached is my excel worksheet I have created for a tracking/billing system for numerous schools. How I can create a search form?
For example, I want to find all of the kids in 5th grade that had to be referred throughout the whole document. Or I want to find a certain name to see if they have been paid but I do not know the location.
I've got a data set (words and text) where in column J the number 100 appears at random intervals. Each time the number 100appears, i want to take all data from cell A:J and copy that data to a new worksheet and then name it with the word in cell A.
Code that will autofilter my sheet for rows that contain either a 1,2,3, or 4 in Column "Z". Then, create a new workbook for each unique value in column "O" and save that to a folder on my desktop named "Contracts". Next, while still filtered by by "Z" and for every unique value in column "O", filter and name a sheet in the new workbook for each unique value in column "B". Finally, while the main sheet is filtered I need to copy and paste the visible cells (minus header row) from columns C,D,E,F,G,H,S, and U to consecutive columns in the newly created worksheet beginning in cell "A9".
I am using excel to create some contracts for a few partners. Each partner could work with several of my clients and I need to give each partner a personalized contract for each of my clients with which they work.
I hope my description of the problem is not too confusing. If so, let me know and I will try to clarify exactly what I am trying to say.
I have tried to combine some code that I already have but, being a newb with loops, I can't seem to get it to do everything.