VBA Code In A Template (.xlt) Versus Regular (.xls) File
Apr 21, 2007Does VBA code created in an Excel file that is saved as a Template (.xlt) work the same when the file is opened as an .xls file?
View 9 RepliesDoes VBA code created in an Excel file that is saved as a Template (.xlt) work the same when the file is opened as an .xls file?
View 9 RepliesI have a template file for ordering trafolyte and steel plates. I have added macros to this template file. The existing macros do the following (shortly described):
Macro 1: clears order
Macro 2: update order date + send a read only file to the supplier of plates + save a read only copy of the file into one of three folders acc to info in one of the cells.
It's the Macro 2 I want to edit.
I want to add a "function" which copy a selection of data.column A to N from row 12 to 548 but only the rows where there is a value in column A.
Row 1 to 11 includes standard order info and Macro buttons.
Row 11 includes the heading for order data.
For everytime someone click on the Macro 2 button in the template file, I want the selection to be paste into the first "available" row in a "Total list" file.
The "Total list" file may have to be open (or a function to open, paste selection and then close the "Total list" file may be added)
File and Folder info:
To simplify suggestions, the following file and path info can be used (I can change to the correct later):
Template file name: template_order.xlsm
Template file location: \servershared emplate
Total list file name: total_list.xlsx
Total list file location: \servershared otal
Selection info:
The template file exists of a "general order info area" A1:N10
The column heading for order data is located at A11:N11
The selection to be copied is A12:N550 - But only rows where column A includes data (not empty).
(If the spesific order consists of 14 plates than there will be item no 1-14 in column A and I then I want to copy A12:N25 (row 25 will be item 14).
When I try to use record macro it looks like it only records what's happening in the template file - It doesn't record the pasting in the total list.
I've attached 2 test files, one is the database master file containing the projects (each row represents a project, unique reference number in column A) and the other is the blank template file i'm hoping to export data into and then save down with the naming convention "column A_column B.xlsx"
Kept the test files simple but would need to modify any code to apply to much larger database consisting of many more fields etc.
Master.xlsx‎
Template.xlsx‎
Case "TD"
strfilename = "\TomsblackibmTomsProposals" & strfilename
I would like to send this file by email if possible instead of to his computer. The user recently went from a desktop "in the office" to a laptop "all over the place".
Sub Save_and_SaveSalesman()
Dim strPath As String, strPath2 As String, CurrPath As String
Dim WB1 As Workbook
Dim WB2 As Workbook
Set WB1 = ActiveWorkbook
'First thing, save my work
WB1.Save
CurrPath = WB1.Path
'ASSUMING THAT C6 and O3 are BOTH in WB1
'move this line HERE: only do this once, and concatenate in the Select..Case later
'doing thsi inside the Select..Case pulls values from WB2, which might cause errors.............................
Code to save a file C:DesktopFile.xls to a different path say F:New.xls as a backup.
I want this to happen every 1 hour so that if in case my original sheet File.xls is corrupted or deleted, I have a backup data (New.xls) which was last saved.
And also File.xls need not be necessarily open.
I am trying to have a file print in legal size if I have 56 lines filled in
otherwise print in regular letter size. Does anyone know how to write this
in VBA.
I need a little help creating the macro for a template file which is going to be used for data input and further analysis. I have a set of arrays, which can be altered. The arrays may look like so:
View 9 Replies View RelatedI have a file with two sheets - Main and Reference. The file has a macro that when used from Main sheet displays some data (images to be specific) from the Reference sheet. The main sheet is of a specific format and has some buttons to call the macro.
I want to have the capability to create any number of main sheets of the same format. I know this can be done by saving the Main sheet as a template and right clicking on a sheet and clicking 'Insert..'. But that would require the template to be stored in the excel start file on the local computer.
I want to know if there is any way the worksheet template can be stored within an excel file, so that if the file is sent to people on a different computer, the user can easily add more worksheets using the template?
I am trying to create a beforesave code within my template. The template has certain fields that are blank and when the end user enters data, I want them to be able to click on save or the blue disk and it saves it to a new location, based on their user and some of the cells within the form. I do not want the template to be saved with the data they input. The data they input is saved only when they click the blue disk and it saves to another location, with their username and certain cells in the form. Then the end user can continue using that same template for the next entry and so on. I have a beforeclose that asks them if they really want to close or not. The only time they would close, or hit the big red X is when they are done with all their entries for the day. Here is my code for beforesave:
[Code] ......
I have some code and then
ChDir "W:MET Logbook"
ActiveWorkbook.SaveAs Filename:= _
"Micro Evaluation " _
& Format(Date, "(mm-dd) ") & Format(Time, "hh.mm.ss AM/PM") & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
And I want this to save my workbook in the different location as a template. Only it saves the workbook as a regular excel workbook instead. Any help with what I can change to save it as a template?
how do i go about saving an Excel sheet (template) automatically, using data stored in the A1 cell of Sheet1 as the file name. i want to use an Excel template to capture data, and then store the data in a central location. to do this i am thinking of getting the template to automatically save to a set location e.g. C/: files. is there a simple way to do this.
View 2 Replies View RelatedI have a census file. All records have a TK number assigned to them. I need to create a new workbook (for each TK number) from a template file and fill in the file with data from all the records belonging to that TK number. I can write this out in English, but I don't know what type of functions/searches/etc. to use to make this work most efficiently.
View 9 Replies View RelatedI work for a company that has about 650 locations. Each location has a location manager that is responsible for submitting a Performance Review spreadsheet for all the employees at their location.
Currently I have an Excel file that has all employees/locations. One of the columns on my spreadsheet is "Location ID"...which is literately a number we've assigned to our Locations. I have an Excel template saved that I'd like each Location to open into.
Can someone help me? I need each location to be it's own spreadesheet...which I have a template created already. I'd prefer to find an automated way to do this...rather than manually creating 650 spreadsheets.
I'd prefer to do this in anoter application, such as MS Access, but senior management already made the decision this will be done in Excel...so I'm stuck with what I got.
I have used the directions below (from this site) to add a name to a validated cell and have that name added to a list. The issue I am trying to solve is this, when opening a new file from the template containing the code below the new file needs to have the range to which I'm refering updated to the range that was in the last opened file from the template. I tried by using a macro to copy and paste the range to an external wb that was hidden and then copy and paste to the new file opened from the template but it was a mess.
If anyone can help by posting some example code to steer me in the right direction I would be very grateful
1. Add any list of names or items to the range A1:A10 on any sheet.
2.Now in cell A11 enter this formula and copy it down to say row 20. =IF( COUNTIF($A$1:A10,$D$1),"x",$D$1) Note the relative reference of A10
3.Go to Insert>Name-define and in the Names in workbook: box type:MyName
4.In the Refers to: box enter this formula: =OFFSET(Sheet1!$A$1,0,0,COUNTIF(Sheet1!$A:$A,"<>x"),1)
5.Click Add then Ok.
6. Select Cell D1 and go to Data> Validation, select List from the Allow: box and in the Source: box type: =MyNames Ensure the In-cell dropdown box is checked.
7.Click the Error Alert page tab and uncheck the Show error alert after invalid data is entered box. Now click Ok.
8.Right click on the sheet name tab and select View Code in here paste the code below:
Private Sub Worksheet_Calculate()
On Error Resume Next
Application.EnableEvents = False
Range("MyNames") = Range("MyNames").Value
Application.EnableEvents = True
On Error Goto 0
End Sub
9.Click the top right X to get back to Excel and now Save.
Now select cell D1 and type in any name, that is NOT part of the list, and Enter. Select D1 again and look at the list. The new name should now be part of it!
I've been looking around to find a solution for my problem and as a last resort I have decided to make a post, and I will get straight to the point. I have 3 xl Files of relevance:
1 - is my "database" which consists of multiple sheets with different information in each. Each sheet is correlated with each other by one common ID. 2 - is my "template" which is 2 sheets, which functions as a report. The template serves as the Report which will be printed. The data from each row from the database can fill the spaces in the template.
3 - "the tool" xl file is where i have my macros and the mapping for the which columns from the database belong to which cells in the template.
Basically what I'm trying to get to work is: User opens Tool clicks "create Reports" and the tool should then open the database, pick the range of rows from the database put the data into the relevant cell in the template save the "template" with the info on it, close it and do it again with each row of data from the database. So if I pick rows 4 to 34 in my tool, it should create 30 xls files from the template and fill in the data from each row into each newly generated "report".
I am trying to use the worksheets.add method with the Type specifier pointing to a file location containing a worksheet template.
View 9 Replies View RelatedI have a template excel file that is loaded with macros. When the file is opened, a userform opens and the user makes several different selections. Based on the selections, the excel file is populated with information and pictures. I want to make sure that the user does not accidentally save over the template file when he/she is finished with the document.
My original solution was: when the user opened the excel file, it would automatically save under a different name in a temporary location. This would stop the user from being able to overwrite the source file. The users were not happy because the excel file is very large and takes a long time to save.
on another method to stop the user from overwriting the source file? using code? or another method?
We've got a bug in our finance system where it can't handle any transactions that have sales but no related commission. The BI team provides a CSV file separately with this information and the sales team has to manually input it. I know how to create a template that can be uploaded into the system but don't know how to pull the data into the template from the CSV file.
I've created the attached example and what i'd like is a drop down box in cell B1 (template tab) listing all the customer codes in column B on the data tab and then based on your selection all the related transaction lines pull into columns A to F (starting on row 4).
Manual Invoicing Query.xlsx‎
I am after a VBA code that I can use to populate a fax template based on criteria's
Basically I have records which are being logged throughout the day via a User form and sometimes there may/maynot be a charge. the user decides at the time. The column is named "to be charged" and is filled with either Yes/ No.
I need to be able to select the date to print or Just the same day date and print all faxes' that have "Yes" for charge This way all the information for each fax is populated and the user can just print.
and if possible mark a Colum non the master sheet as printed with a X or something
When I prepare a file with macro's (to be used by other people), I save this file as a template with macro's with the extension *.xltm (template with macro).
Therefore no one can overwrite my file. These other people can open this template (e.g. double-click, but not file-open). But when these people save this file, Excel automatically saves it as a normal Excel-file with the extension *.xlsx.
Ok, a message is seen after pressing <enter> or clicking Save, but does normal users know, what they have to do then?
If I'm making a template with macro's, I want Excel to have this file saved as a file with macro's. Whatever did I make a file with macro's for? Is this a bug or is it done on purpose?
I need to read data for a group of charts into a master template file.
Sometimes my chart data range needs to be
AS31:AT35
Other times, when different data is read in, the same chart may need to only read
AS31:AT33
Is there any to name a range to read until row AT reaches it's first blank?
So I am trying to make a file that when opened will act as a template does and change the file name on start-up.
Typically, the template changes the file name by appending one number (e.g. "Book Template REV 1.1.xltm' upon opening would change the file name to 'Book Template REV 1.11.xlsx'). What I want to do, however, is to custom the name change so I could use the file 'Book Template REV 1.1.xltm' while having it change the file name upon opening to 'Custom Name 567.xlsx', without a user being notified of the change (since typically when a template opens the file, the user has no notification that the file name has changed ever so slightly).
I’m looking to create an invoice-type format from data in a row but only when the client requests it.
So, if there is a Y in column R. i.e. the client wants an invoice format then.
I have been given a “template” format by the team manager that I have to use. Its far from ideal, well for me anyway, for moving things around and I’m struggling to get anywhere with it.
I’m trying to take the data from the row in the source / client worksheet, which will be created via a code from here, and transpose it to a copy of the “template” worksheet which sits within the same workbook. This is made more complicated because in some cases the data for the invoice will be in two or more rows, because there will be a few items on the same invoice, but they will still be on the same worksheet.
The source / client worksheet has data from columns A to T with a header in row 1.
The details will need to be transposed from the relevant row from each column to the “template” worksheet as follows
From column in source / client worksheet To cell in copy template worksheet.
From - To
CB2
AB3
BB5
HB7
IB9
GB11
EB13
FB15
RB19
SB21
QB23
OB25
PB27
This is where it gets messy, or more messy should I say
MB33
JB35
LB37
KB39
TB41
NB45
For each of the six sections M to N above there may be more than one relevant items which will be on rows 3 onwards of the source /client worksheet.
So, ideally I’m guessing based on if there is data in column A of the source / client worksheet then M to N above will need to copied downwards, i.e. below itself on the template worksheet say from column A and B rows 33-45 copied to A and B rows 47-59 until all the data is copied over.
Blinking eck ... this is a nightmare… a real nightmare. This more than one section above is really bad… I’m at a complete loss.
Although if its really not possible they may have to have another template worksheet with the second, third etc items on as I just can’t see this working.
how to create a copy of my employee attendance template. Is there a way to create a copy of the template by entering an employee name in the "name" cell of the template and it automatically renames the sheet that employee name and also saves or recopies the template for use with the next employee?
View 8 Replies View RelatedI Have a number(30+) of excel files based off of one template. I have since updated the template, thus making the the old ones obsolete. Is there a way to update the older files to use the new template without having to copy and paste the addition's row by row column by column?
None of the additions to the template will change the placement of existing data, nor will it change the data itself. It will however add Values to cells that were previously empty.
Hints, Tricks, or Ideas?
I have formatted a cell to be a Number with 1 decimal place. When I place the value of 1.0 in the cell I see 1.0 in the cell and 1 in the formula bar. I need the formula bar to display 1.0 as well.
View 9 Replies View RelatedWhat is the difference between the two ?
When should I use each one ?
By the time I started using a lot of VBA, the Auto_Open() and Auto_Close() methods' use was waning, supplanted by the _Open() and _BeforeClose() event handlers for the workbook object. So I never really got into the habit of using them.
However, I've been reading Bullen, Bovey & Green's book Professional Excel Development1 and they use Auto_Open() quite a bit. So I've been plinkin' around a bit trying to suss out the differences. Do I have this more or less correct?
If I put in both an Auto_Open() in a standard module and a Workbook_Open()in the WB's code module both execute. But if I were to have Application.EventsEnabled set to FALSE; the Auto_Open() still executes upon opening the workbook whereas the Workbook_Open() will not?2 And that since the open event handler runs before the Auto_Open() subroutine, using the Auto_Open() to insure that events are enabled does not cause the WB_Open() event handler to fire.
Auto_Close() runs even if EnableEvent = FALSE and (of course) WB_BeforeClose(...) does not fire. HOWEVER, just to make things interesting: if EnableEvents = TRUE and I hold down the SHIFT key while opening, neither of the open procedures fires. Whereas if I hold don the SHIFT key when closing, the _BeforeClose() event still gets raised; but the Auto_Close() does not run.
Does that about sum up the differences? Or are there more differences that I should be aware of?
1. If you have developed a few complex projects and more-or-less can run back through Walkenbach's PowerProgramming with VBA book without seeing too much that you've forgotten; then this is the book to take you to the next level.
2. Both scenarios assume that macros are enabled.
How exactly does Excell treats uninitialized variables ? I have created a function which takes in one of the cell values as a parameter.. However, it seems that when I don't reference an empty cell, the code does not work. Let the function be ABC, and the let the cell be A1
When I use
=ABC(....,A1,....) , it works
However, when I use
=ABC(....,,....) I am getting an eror
Now , I tried using the IsEmpty function , and it seems tht when i use ,, or ,"", then the variable is not caught.. however, the variable is caught when i use an empty cell such as ,A1,
FYI, I am using the vba's formula method to assign this function to a cell. So when I use
"," & ActiveCell.Offset(to reach A1).Value & "," , I see blank ,, when A1 is empty
1)
I created a one-sheet template, and a new workbook from that sheet. When in that new workbook I go Insert>Sheet>Other and select the aforementioned one-sheet template, Excel crashes, or if not, it adds the new sheet, but then no longer saves the workbook and starts producing error messages (like: "An unexpected error has ocurred. AutoRecover has been disabled for this session of Excel.").
1a)
Now, the complication is that this is working when I do a model operation with a generic template sheet. So I checked the template that I actually want to form sheets after, and Excel finds no errors, nor does it's name contain any unusual characters. What could Excel prevent from working with a template like this?
2)
How do I edit a template? The only way I can find is to manually find the spot in finder, open, and save with the same name. But: if I do that, the documents basing on that template don't change accordingly. If they're intended not to, the whole template procedure makes no sense. I could then just as well copy a file. — I've been searching for tutorials on that, but google doesn't even return a single result on Excel "edit template". Therefor my very basic question here.