Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / Setup / March 2008

Tip: Looking for answers? Try searching our database.

Help ! How do I do this in VB Script

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Sean - 13 Mar 2008 17:06 GMT
I have a spreadsheet with a Summany sheet and 235 deatil sheets.

I have various scripts that create the tabs, which are basically a summary
of monthly values for each of our suppliers.

I want to use vbscript to add totals to each supplier sheet but im having
great difficulty in doing what i want in a short piece of code.

I can do it for an individual supplier with the following code:

Private Sub CommandButton1_Click()

           
   Sheets("ACME").Select

   ActiveSheet.Range("C18").Value = "TOTALS"
   ActiveSheet.Range("D18").Value = "=sum(D5:D16)"
   ActiveSheet.Range("E18").Value = "=sum(E5:E16)"
   ActiveSheet.Range("F18").Value = "=sum(F5:F16)"
   ActiveSheet.Range("G18").Value = "=sum(G5:G16)"
   ActiveSheet.Range("H18").Value = "=sum(H5:H16)"
   ActiveSheet.Range("I18").Value = "=sum(I5:I16)"
   ActiveSheet.Range("J18").Value = "=sum(J5:J16)"
   ActiveSheet.Range("K18").Value = "=sum(K5:K16)"
   ActiveSheet.Range("L18").Value = "=sum(L5:L16)"
   
End Sub

But I dont want to have to creat 200+ procedures to fill in totals for each
supplier so how do I change sheets and put the above onto each one.

The main sheet has a list of Supplier names from cell A5 to A200+ so I can
pick them from there but how do I do this ?

Im sorry if this does not make sense but have been trying to do this for
hours and is driving me mad.  

Thanks for any help

Sean
Stefi - 14 Mar 2008 09:46 GMT
Try something like this (not tested):

Private Sub CommandButton1_Click()
   Dim supp As Range, supprng As Range
   Sheets("Summary").Select
   Set supprng = Range("A5:A235")
   For Each supp In supprng
       Sheets(supp.Value).Range("C18").Value = "TOTALS"
       Sheets(supp.Value).Range("D18").Formula = "=sum(D5:D16)"
       Sheets(supp.Value).Range("E18").Formula = "=sum(E5:E16)"
       Sheets(supp.Value).Range("F18").Formula = "=sum(F5:F16)"
       Sheets(supp.Value).Range("G18").Formula = "=sum(G5:G16)"
       Sheets(supp.Value).Range("H18").Formula = "=sum(H5:H16)"
       Sheets(supp.Value).Range("I18").Formula = "=sum(I5:I16)"
       Sheets(supp.Value).Range("J18").Formula = "=sum(J5:J16)"
       Sheets(supp.Value).Range("K18").Formula = "=sum(K5:K16)"
       Sheets(supp.Value).Range("L18").Formula = "=sum(L5:L16)"
   Next supp
End Sub

Regards,
Stefi

„Sean” ezt írta:

> I have a spreadsheet with a Summany sheet and 235 deatil sheets.
>
[quoted text clipped - 36 lines]
>
> Sean
Roger Govier - 14 Mar 2008 09:48 GMT
Hi Sean

Try
Private Sub CommandButton1_Click()
Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "Summary" Then

   ws.Range("C18").Value = "TOTALS"
   ws.Range("D18").Value = "=sum(D5:D16)"
   ws.Range("E18").Value = "=sum(E5:E16)"
   ws.Range("F18").Value = "=sum(F5:F16)"
   ws.Range("G18").Value = "=sum(G5:G16)"
   ws.Range("H18").Value = "=sum(H5:H16)"
   ws.Range("I18").Value = "=sum(I5:I16)"
   ws.Range("J18").Value = "=sum(J5:J16)"
   ws.Range("K18").Value = "=sum(K5:K16)"
   ws.Range("L18").Value = "=sum(L5:L16)"
End If
Next
End Sub

Signature

Regards
Roger Govier

> I have a spreadsheet with a Summany sheet and 235 deatil sheets.
>
[quoted text clipped - 36 lines]
>
> Sean
Sean - 17 Mar 2008 13:16 GMT
Thanks Stefi / Roger ....

I have now sorted this, I realised that I could just put my code into the
macro that creates the supplier tabs in the first case.  This then inserts
the totals line as it creates the supplier tab.

Thanks though for your help as your code has given me an idea for another
feature I need to add.

Cheers

Sean.

> I have a spreadsheet with a Summany sheet and 235 deatil sheets.
>
[quoted text clipped - 36 lines]
>
> Sean

Rate this thread:






 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.