Two Invoice Forms: How Can Excel Know Which One To Choose?
Mar 14, 2009
I am using vlookup functions to print out invoices from ONE invoice form. Each of my clients has been given an ID number. To print, I am using a code that goes through a dropdown list containing ID numbers of all my clients located in cell J3 and prints out only invoices of stores that placed an order (invoice where total in cell P14 is >0).
Here is the
Sub Print_Invoice()
Dim rCell As Range
With ActiveSheet 'change to relevant sheet name if you want to execute macro from another sheet
ForEach rCell In .Range("A2:A10")
.Range("J3").Value = rCell.Value: Calculate
If .Range("P14").Value > 0 Then .PrintOut
Next rCell
EndWith
EndSub
Because of specific requirements of some stores I had to create a SECOND invoice form especially designed for a few stores only. How can I change the code above so Excel will know which form should be used for which store? I am thinking about “playing” with ID numbers.
Please note that each store has a unique ID number from 100 to 999.
Route 1 includes stores with ID number from 101 to 199. Route 2 includes stores with ID number from 201 to 299, and so on…
Stores requiring the second type of invoice have been given an ID number from 180 to 199 (for route 1), from 280 to 299 (for route 2), and so on…
I have an Excel Invoice Template, saved as a template.
I have code that generates a new invoice number each time the template is opened in VBA Editor. The auto numbering system works great! However.... (here comes the sad part)
After I enter all the data I need on the invoice, I want to save a copy of the invoice in a different file folder, which I can no problem. The problem is, if I re-open the saved invoice, we will call it Invoice #100, excel asks me if I want to update, if I say either yes or no, the invoice number will change to Invoice #101. I'm sure you can see how this can cause a major problem if we need to compare information later on, finding the correct invoice would be almost impossible as it would not match the customers invoice number.
What I need to know is:
Is there code I can add to the existing code, to stop the increment on a saved invoice, but not on the original template?
create an excel spreadsheet, where i can enter all my products name, unit price etc. so when i am doing an invoice for the customer, if i just type the product name price will show up automatically.
The way that I was thinking about doing this would be by creating a template in word and using bookmarks. Then I would use VBA to populate those bookmarks based on the person (publisher in this case) i was invoicing.
I'm having a couple of issues logistically though. I'm not sure how to attach the sample invoice, so i'll do my best to write them out and if i figure out how to attach a doc by the end of this i will include a sample so you see what I'm talking about.
Issue 1: Each Invoice form has the publishers Name and Address listed at the top of the form. The problem is, the information i'm pulling the number of sales (and money we owe them) is from a different spreadsheet every month and wouldn't contain this address information on it as it is an aggregate spreadsheet of ALL publishers numbers. Would it be possible to create an initial template for each publisher and then have the rest of the information be populated with the data from the CSV that has their sale information. I could create a seperate database in excel with each publishers address and name but then it might get difficult to match these up. how to automate that, as we have 100's of publishers and invoices are done every month.
Issue 2: Bookmarks seem like a nice way to use VBA to replace their values with excel data (in theory, i've only read about it and never attemped)... However, in this particular invoice form, I have to create a seperate listing in the description field for each product a publisher sold (including how many they sold and how much money they are owed). Some publishers may have sold 5-10 different products, while some may have only sold 1 or 2. How do i get word to insert a new bookmark (or something) based on the number of products a person has sold.
I have a template invoice in excel. What I want is a macro code that when it is run the open template invoice should be sent to a specific email address !!
Anyhow, I enjoy the modern convenience of a dual-monitor setup but still find myself struggling with small forms(?) in Excel. For instance I am currently looking at the "Conditional Formatting Rules Manager" which occupies a very limited amount of screen real-estate. The sheet I am working on contains a large number of conditional formats which all use long custom formulas. I am not the original author.
I would love to be able to resize the overall size of the menu and the columns within it but, for the life of me, I can't seem to do so. It would be much easier to be able to see the rule formulas in one glance as opposed to having to go into each one to see the one-character difference. As stated before I certainly have the real-estate to do so.
I would like to write a macro that would insert a hyperlink to another file an would prompt the user to select the location of the file once the macro was run. I am not sure how I would get my macro to prompt the user to define the location (which is located on a network drive).
Excel 2007 Q: I have a combo box (ActivX) that I want to be able to choose a a date from a range of dates in column A on sheet 'Working Copy'. I want a cell to update with the number/position of the date when the date is chosen i.e. the first date in the range yields 1 the second date yields 2 and so on. I also want the date to be displayed in dd-mmm-yyyy format. I am able to get the cell to give the correct position of the date but the date reverts to five digit number in combo box. I can change the code to return the correct date in the combo box when the date is chosen but then the cell just returns 0.
How can I make it so that the combo box returns the correct date and the cell updates with the position instead of jsut one or the other?
Here is the code I am using
Private Sub ComboBox1_Change() ComboBox1.Value = Format(ComboBox1.Text, "dd-mmm-yyyy") End Sub or Private Sub ComboBox1_Change() Sheets("Working Copy").Range("G1").Value = ComboBox1.ListIndex + 1 End Sub
I'm Trying to create a invoice that generates the invoice number automatically every time its being opened Now, how to do it with a macro but the problem is i need the invoice to be saved as a template. In the end i need the invoice template to move the invoice number to the next one when opened and when im done with the invoice i need a print button that saves the invoice with contents to a specific folder, clears the contents and saves the invoice with the current invoice number as a template so that next time its being opened it can just adjust the counter.I have done the counter adjustment part .
I m making invoices and daily i have to make around 100 invoices, every time i have to select/copy the latest invoice and paste it downwards (as attached).
kindly tell me a macro so that i can click on button and invoice# 02 (as highlighted & attached) should be pasted on the place where i will keep my Curser. It should be pasted on the place where i will keep curser.
Leith got this perfect for me, but my example does not work right. Not sure why it does not save last invoice number too the workbook. The invoice number increase works great, I must be missing a step.
I have a invoice that I use, thanks to royUK is working pretty good now. I'm not sure if there is a code I can add too refresh my invoice counter. When I clear the page it moves up one number,now that I have two invoices in the same book it does not refresh the invoice number in the other invoice. royUk worked on this a lot yesterday and had some great ideas in cleaning it up. On my one day invoice he was able too give me a warning when I ran out of cells to input my marcos, but not sure how too do it in my two day because it has two pages. Their are so many helpful people here, I wish I could take them all too dinner.
im trying to achieve is creating an microsoft word (or simalar) invoice from my excel spread sheet.
My current excel spreadsheet is set on a monthly basis. on it it has my customer list. I provide a service for people so at the end of that month i enter what type of service and who for and make a seperate invoice based on the calculations........ C#&P ive got no idea what im talking about
Im gonna make a fake formula and hopefully somone will understand what im trying to do, everything in these brakets { } is what im trying to do
={cell F6 (customers name)}({send the info in this cell (customers name) to word temlate and insert into customers name section})
Good way to explain it is that i want excell to automaticly create a word invoice, and im guessing i need to have a word template for it.
I really hope someone understands what i am trying to do because at the end of the month it takes about 2 hrs to enter all the different info for the customers into my excel spread sheet and another 2 days to make all the invoices for each customer and it is only a matter of time before i make a simple mistake which could cost me thousands...
was told that words mail merge would work but it wont do what is required. Open to any and all sugestions
I also got told to steer clear of word cos excell can make a good invoice and it would be easier
when the jobs done the Satus Column "F" is changed to INVOICE and then once a day or whenever they are all moved to a new sheet named the month and year, in this case JUN 09 this works fine as it is but at the moment i have to delete the lines myself from where it took the data from in CURRENT or AtoZ then remove them in 1 go.
Simply put, i want the code to remove these lines itself....
Is there a way to create incremental invoice numbers via a formula in excel every time it opens up?
I would like it to appear in a specific box "e5" on the spread sheet I have read a lot of info but I am lost I have no idea what vb is or how about editing it.
I need a macro to copy the data from the rows in Sheet3 into a specific place on "Sheet2" (Column "C" to E10 on Sheet2, D to E11, Q to E12, R to M12, S to T12, G to Y26, H to AF29, M to AF30, N to AF32, and lastly the current date to AC10) then rename the sheet to the Value of "E10" on that sheet then Copy that sheet to a new workbook and then clear the data on "Sheet2" so that only the information that was on the sheet before the data transfer is left and reset the name back to the original. My problem is i'm going to need this macro to do this for every row of data (Customer) that is in my list range of B10:R2114. So i'm looking for maybe a macro that loops an amount of times equal to the counts of data in the address range
=count(D10:D2114)
I have a macro that Creates a new workbook (which you name and place, which is good) and then copies a specified sheet over to the new workbook. I hope I wasn't to convoluted in what I'm trying to accomplish. heres the current macro I'm working with.
Sub copySht() 'declare the variables Dim wb As Workbook Dim ws As Worksheet Dim fName With Application 'prevent unnecessary error messages .DisplayAlerts = False 'switch off screen updating to speed up code and prevent screen flickering .ScreenUpdating = False
I've created an Invoice Template in excel. Each time I open it I'd like a certian cell "D3" to increase by one number starting at 2000. Each time this is opened a new customer information is input and then saved to their file. Please give me the very basicis on how to do this. I've already gone into other forums which have provided a code, but I have had any luck getting ti too work.
I'm looking to create a dynamic invoice that has one main invoice worksheet that references a worksheet with client billing information. Keep in mind that line items will differ between clients, and ideally I'd want to be able to:
Have date autopopulate, included in every line item Select a client, which populates billing info as well as the invoice # nomenclature specific to that client Be able to have client line items specific to the client populate based on the dropdown I select
Overall, no real specific guidelines, just trying to pick some other people's brains about how to approach a dynamic invoicing template. To preface, we have about 60 clients.
I have a data set that has invoice amounts with corresponding bill date range. I need to get those invoice amount auto pop up in correspond month columns.
Invoice Number Bill From/Bill To Invoice Amount Dec '13 Jan '14 Feb '14 1 01/01/2014 00:00 $100 01/02/2014 00:00
I have an invoice I use for my business. I want to be able to type in the sku # and then have the description and price fill in automatically. The invoice already calculates the total retail price based on the number ordered, tax, S&H and discount level. It then gives you total due for items bought. Getting the invoice this far was a miracle for me, but I get tired of retyping all the info now that sales are picking up. I have attached a copy of my invoice file.
I use a userform to make sales data entries into a database. The userform contains textboxes for:
Invoice No.Invoice DateGrossVatNet The Invoice No. is the first entry box on the userform and it is important that users enter the correct format (which is alphanumeric).
It is also important that a checking is carried out to ensure that the Invoice Number being entered has not already been used.
I use the following code to ensure that the numbers are entered in the desired format:
Code: Private Sub txtInv_Exit(ByVal Cancel As MSForms.ReturnBoolean) If txtInv.Value = vbNullString Then Exit Sub If (Not UCase(Me.txtInv.Value) Like "ST###") And (Not UCase(Me.txtInv.Value) Like "ST####") Then MsgBox "Non Valid Invoice Number.†Cancel = True End If End Sub
And this code is pasted lower down the VB editor window. And it seems to be working fine!
For the checking to ensure that the invoice number being typed into the textbox has not already been used, I use the following two codes combined together:
a) to check for invoice No.:
Code: check for Invoice Number
If Trim(Me.txtInv.Value) = "" Then Me.txtInv.SetFocus MsgBox "Please Enter Invoice No." Exit Sub End If
b) And to it I add the following additional code for CHECKING that the no. does not already exist in the database (the invoice nos are located in Column A of the database):
Code: Dim x X= Application.Match(Me.txtInv.Value, Columns(1),0) If Not IsError(x) Then MsgBox Me.txtInv.Value & "Invoice Number Is Already Used" Me.txtInv.SetFocus Cancel = True Exit Sub End If
My problem with the second set of codes in (a) & (b) (for the Checking of already existing No.) is that the code allows the user to key in the Invoice No. and go through filling in the other textboxes. It is only after clicking the ‘Add’ button that a msgbox comes up to indicate that the ‘invoice no. is already used’.
I need a tweaking of the codes so that the moment an invoice no. that has already been used is typed into the textbox and the TAB button pressed, a msgbox will show up at that stage to indicate that the ‘Invoice no. is already used’. This will reduce time and avoid filling in the other textboxes and clicking the ‘Add’ button before the checking is done.
I'm trying to determine how to indicate which month an adjustment will post to an invoice.
Column A= billing cycle date Column B= Market Column C= Adjustment Approved Date Column D= Adjustment Amount Column E = Which invoice will credit post to:
So I'm trying to build a formula in Column E that will look at the cycle date in Column A compared to the Adjustment approved date in Column C and then kick out which invoice the adjustment will appear on. The values in Column E were placed mannually to show what I'm trying to accomplish. if the adjustment approved date is = to a cycle date it will show up on the same invoice. ie if approved on the 1st and the cycle date is the 1st the invoice will reflect the approved adjustment.
I'm having some trouble creating a macro that will save the worksheet under the name of the cell ("G4") that needs to change to the next ascending number (i.e. 101101, 101102, 101103, etc). Have a macro but wont function after saving and never saves as the new cell #.
This is my invoice. I want to be able to create a database record of every transaction. In the end I want to be able to export this data into Access, but it needs to be in sequential rows and columns. I want to be able to list the cells on Sheet 1 that have Data in them in the configuration on Sheet 2 that I have listed. What I need to keep in mind is that someone might have 1 item in a transaction and others might have 5. So I need the ShopID and Customer information to appear in front of every item listed in rows 20-27.