Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
1) I have a report in sheet 1 that is populated by data in another sheet
using vlookup. 2) I have a range name = "list" (in sheet 1 as well, which lists ticker symbol) 3) I would like the macro to loop through all the names in the "list" range and print the reports. |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Also for purposes of this ex/ I would like each name copied to cell A1, as
the vlookup keys off A1 to update the report, cycling through the list and printing each report. -- Thanks "Lightjag" wrote: 1) I have a report in sheet 1 that is populated by data in another sheet using vlookup. 2) I have a range name = "list" (in sheet 1 as well, which lists ticker symbol) 3) I would like the macro to loop through all the names in the "list" range and print the reports. |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Ok the macro below cycles throught the list but only prints when it gets to
bottom of list. What should I change to get it to print each time is cycles throught the list? Tks Sub printinfo() Dim n As Integer n = 1 Do Application.Goto Reference:="list" ActiveCell.Offset(n + 1, 0).Select Selection.copy Application.Goto Reference:="ticker" Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveWindow.SelectedSheets.PrintOut Loop Until IsEmpty(ActiveCell.Offset(0, 1)) End Sub "Lightjag" wrote: Also for purposes of this ex/ I would like each name copied to cell A1, as the vlookup keys off A1 to update the report, cycling through the list and printing each report. -- Thanks "Lightjag" wrote: 1) I have a report in sheet 1 that is populated by data in another sheet using vlookup. 2) I have a range name = "list" (in sheet 1 as well, which lists ticker symbol) 3) I would like the macro to loop through all the names in the "list" range and print the reports. |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Any ideas?
"Lightjag" wrote: Ok the macro below cycles throught the list but only prints when it gets to bottom of list. What should I change to get it to print each time is cycles throught the list? Tks Sub printinfo() Dim n As Integer n = 1 Do Application.Goto Reference:="list" ActiveCell.Offset(n + 1, 0).Select Selection.copy Application.Goto Reference:="ticker" Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveWindow.SelectedSheets.PrintOut Loop Until IsEmpty(ActiveCell.Offset(0, 1)) End Sub "Lightjag" wrote: Also for purposes of this ex/ I would like each name copied to cell A1, as the vlookup keys off A1 to update the report, cycling through the list and printing each report. -- Thanks "Lightjag" wrote: 1) I have a report in sheet 1 that is populated by data in another sheet using vlookup. 2) I have a range name = "list" (in sheet 1 as well, which lists ticker symbol) 3) I would like the macro to loop through all the names in the "list" range and print the reports. |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi
In first sub n is not being incremented. Put in n = n+1 after the printout line. Don't know what you want in your second question. What is a name? What does "vlookup keys off A1" mean? regards Paul On Mar 13, 6:18*pm, Lightjag wrote: Any ideas? "Lightjag" wrote: Ok the macro below cycles throught the list but only prints when it gets to bottom of list. What should I change to get it to print each time is cycles throught the list? Tks Sub printinfo() * * *Dim n As Integer * * *n = 1 * * *Do * * *Application.Goto Reference:="list" * * *ActiveCell.Offset(n + 1, 0).Select * * *Selection.copy * * *Application.Goto Reference:="ticker" * * *Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ * * * * :=False, Transpose:=False * * *ActiveWindow.SelectedSheets.PrintOut * * *Loop Until IsEmpty(ActiveCell.Offset(0, 1)) End Sub "Lightjag" wrote: Also for purposes of this ex/ I would like each name copied to cell A1, as the vlookup keys off A1 to update the report, cycling through the list and printing each report. -- Thanks "Lightjag" wrote: 1) I have a report in sheet 1 that is populated by data in another sheet using vlookup. 2) I have a range name = "list" (in sheet 1 as well, which lists ticker symbol) 3) I would like the macro to loop through all the names in the "list" range and print the reports. |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Ok I made the change, but it still only prints the last item in the list
(instead of printing each item in the list). Vlookup is just not the issue here, as it is just updating the report based on the value in cell A1. " wrote: Hi In first sub n is not being incremented. Put in n = n+1 after the printout line. Don't know what you want in your second question. What is a name? What does "vlookup keys off A1" mean? regards Paul On Mar 13, 6:18 pm, Lightjag wrote: Any ideas? "Lightjag" wrote: Ok the macro below cycles throught the list but only prints when it gets to bottom of list. What should I change to get it to print each time is cycles throught the list? Tks Sub printinfo() Dim n As Integer n = 1 Do Application.Goto Reference:="list" ActiveCell.Offset(n + 1, 0).Select Selection.copy Application.Goto Reference:="ticker" Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveWindow.SelectedSheets.PrintOut Loop Until IsEmpty(ActiveCell.Offset(0, 1)) End Sub "Lightjag" wrote: Also for purposes of this ex/ I would like each name copied to cell A1, as the vlookup keys off A1 to update the report, cycling through the list and printing each report. -- Thanks "Lightjag" wrote: 1) I have a report in sheet 1 that is populated by data in another sheet using vlookup. 2) I have a range name = "list" (in sheet 1 as well, which lists ticker symbol) 3) I would like the macro to loop through all the names in the "list" range and print the reports. |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi
It is pasting everything to one place "ticker" so you only see the last one. You probably need to use offset like Range("ticker").offset(n,1) to print n rows below "ticker". regards Paul On Mar 14, 2:10*pm, Lightjag wrote: Ok I made the change, but it still only prints the last item in the list (instead of printing each item in the list). *Vlookup is just not the issue here, as it is just updating the report based on the value in cell A1. * " wrote: Hi In first sub n is not being incremented. Put in n = n+1 after the printout line. Don't know what you want in your second question. What is a name? What does "vlookup keys off A1" mean? regards Paul On Mar 13, 6:18 pm, Lightjag wrote: Any ideas? "Lightjag" wrote: Ok the macro below cycles throught the list but only prints when it gets to bottom of list. What should I change to get it to print each time is cycles throught the list? Tks Sub printinfo() * * *Dim n As Integer * * *n = 1 * * *Do * * *Application.Goto Reference:="list" * * *ActiveCell.Offset(n + 1, 0).Select * * *Selection.copy * * *Application.Goto Reference:="ticker" * * *Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ * * * * :=False, Transpose:=False * * *ActiveWindow.SelectedSheets.PrintOut * * *Loop Until IsEmpty(ActiveCell.Offset(0, 1)) End Sub "Lightjag" wrote: Also for purposes of this ex/ I would like each name copied to cell A1, as the vlookup keys off A1 to update the report, cycling through the list and printing each report. -- Thanks "Lightjag" wrote: 1) I have a report in sheet 1 that is populated by data in another sheet using vlookup. 2) I have a range name = "list" (in sheet 1 as well, which lists ticker symbol) 3) I would like the macro to loop through all the names in the "list" range and print the reports. |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Ok, I added the code, but I still have the same problem. Just to recap, I
have a "list" in col 1a:a3, I want to copy the cell a1 to location ticker and print report, then copy a2 to ticker and print report and then copy a3 to location ticker and print report. the report updates based on the value pasted into location ticker. The macro below cycles through a1:a3, but only prints once (i.e. when it gets to end of list, a3). It should be printing each time a value is pasted into location "ticker". Below is what the current code looks like. Sub printinfo() Dim n As Integer n = 1 Do Application.Goto Reference:="list" ActiveCell.Offset(n + 1, 0).Select Selection.copy Application.Goto Reference:="ticker" Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("ticker").Offset(n, 1).Select ActiveWindow.SelectedSheets.PrintOut n = n + 1 Loop Until IsEmpty(ActiveCell.Offset(0, 1)) End Sub " wrote: Hi It is pasting everything to one place "ticker" so you only see the last one. You probably need to use offset like Range("ticker").offset(n,1) to print n rows below "ticker". regards Paul On Mar 14, 2:10 pm, Lightjag wrote: Ok I made the change, but it still only prints the last item in the list (instead of printing each item in the list). Vlookup is just not the issue here, as it is just updating the report based on the value in cell A1. " wrote: Hi In first sub n is not being incremented. Put in n = n+1 after the printout line. Don't know what you want in your second question. What is a name? What does "vlookup keys off A1" mean? regards Paul On Mar 13, 6:18 pm, Lightjag wrote: Any ideas? "Lightjag" wrote: Ok the macro below cycles throught the list but only prints when it gets to bottom of list. What should I change to get it to print each time is cycles throught the list? Tks Sub printinfo() Dim n As Integer n = 1 Do Application.Goto Reference:="list" ActiveCell.Offset(n + 1, 0).Select Selection.copy Application.Goto Reference:="ticker" Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveWindow.SelectedSheets.PrintOut Loop Until IsEmpty(ActiveCell.Offset(0, 1)) End Sub "Lightjag" wrote: Also for purposes of this ex/ I would like each name copied to cell A1, as the vlookup keys off A1 to update the report, cycling through the list and printing each report. -- Thanks "Lightjag" wrote: 1) I have a report in sheet 1 that is populated by data in another sheet using vlookup. 2) I have a range name = "list" (in sheet 1 as well, which lists ticker symbol) 3) I would like the macro to loop through all the names in the "list" range and print the reports. |
#9
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Ok now it works: cycles through each item in list, copies to a location,
prints report during each cycle. I changed: A) "Loop Until IsEmpty(ActiveCell.Offset(0, 1))" to "Loop Until IsEmpty(ActiveCell.Offset(0, 0))" and B) "ActiveCell.Offset(n +1 , 0).Select" to "ActiveCell.Offset(n, 0).Select"......as it was skipping the first item in the list. All changes: Sub printinfo() Dim n As Integer n = 0 Do Application.Goto Reference:="list" ActiveCell.Offset(n, 0).Select Selection.copy Application.Goto Reference:="ticker" ' Pastes value to location "ticker" Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveWindow.SelectedSheets.PrintOut n = n + 1 Loop Until IsEmpty(ActiveCell.Offset(0, 0)) End Sub The only issue I have is it print a blank at the end. Ex/ is I have 3 items in a list it prints all 3 plus copies and pastes a blank and then prints it, or if there are 5 items it prints a 6th rpt (ie. blank). Any suggestions on how to get it to stop so it does not print the last rpt which is blank (i.e. gets to end of "list")? "Lightjag" wrote: Ok, I added the code, but I still have the same problem. Just to recap, I have a "list" in col 1a:a3, I want to copy the cell a1 to location ticker and print report, then copy a2 to ticker and print report and then copy a3 to location ticker and print report. the report updates based on the value pasted into location ticker. The macro below cycles through a1:a3, but only prints once (i.e. when it gets to end of list, a3). It should be printing each time a value is pasted into location "ticker". Below is what the current code looks like. Sub printinfo() Dim n As Integer n = 1 Do Application.Goto Reference:="list" ActiveCell.Offset(n + 1, 0).Select Selection.copy Application.Goto Reference:="ticker" Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("ticker").Offset(n, 1).Select ActiveWindow.SelectedSheets.PrintOut n = n + 1 Loop Until IsEmpty(ActiveCell.Offset(0, 1)) End Sub " wrote: Hi It is pasting everything to one place "ticker" so you only see the last one. You probably need to use offset like Range("ticker").offset(n,1) to print n rows below "ticker". regards Paul On Mar 14, 2:10 pm, Lightjag wrote: Ok I made the change, but it still only prints the last item in the list (instead of printing each item in the list). Vlookup is just not the issue here, as it is just updating the report based on the value in cell A1. " wrote: Hi In first sub n is not being incremented. Put in n = n+1 after the printout line. Don't know what you want in your second question. What is a name? What does "vlookup keys off A1" mean? regards Paul On Mar 13, 6:18 pm, Lightjag wrote: Any ideas? "Lightjag" wrote: Ok the macro below cycles throught the list but only prints when it gets to bottom of list. What should I change to get it to print each time is cycles throught the list? Tks Sub printinfo() Dim n As Integer n = 1 Do Application.Goto Reference:="list" ActiveCell.Offset(n + 1, 0).Select Selection.copy Application.Goto Reference:="ticker" Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveWindow.SelectedSheets.PrintOut Loop Until IsEmpty(ActiveCell.Offset(0, 1)) End Sub "Lightjag" wrote: Also for purposes of this ex/ I would like each name copied to cell A1, as the vlookup keys off A1 to update the report, cycling through the list and printing each report. -- Thanks "Lightjag" wrote: 1) I have a report in sheet 1 that is populated by data in another sheet using vlookup. 2) I have a range name = "list" (in sheet 1 as well, which lists ticker symbol) 3) I would like the macro to loop through all the names in the "list" range and print the reports. |
#10
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Problem solved: mcro stops when it finds an empty cell, by adding " If
IsEmpty(ActiveCell) Then End" .....I added it below row "ActiveCell.Offset(n, 0).Select" "Lightjag" wrote: Ok now it works: cycles through each item in list, copies to a location, prints report during each cycle. I changed: A) "Loop Until IsEmpty(ActiveCell.Offset(0, 1))" to "Loop Until IsEmpty(ActiveCell.Offset(0, 0))" and B) "ActiveCell.Offset(n +1 , 0).Select" to "ActiveCell.Offset(n, 0).Select"......as it was skipping the first item in the list. All changes: Sub printinfo() Dim n As Integer n = 0 Do Application.Goto Reference:="list" ActiveCell.Offset(n, 0).Select Selection.copy Application.Goto Reference:="ticker" ' Pastes value to location "ticker" Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveWindow.SelectedSheets.PrintOut n = n + 1 Loop Until IsEmpty(ActiveCell.Offset(0, 0)) End Sub The only issue I have is it print a blank at the end. Ex/ is I have 3 items in a list it prints all 3 plus copies and pastes a blank and then prints it, or if there are 5 items it prints a 6th rpt (ie. blank). Any suggestions on how to get it to stop so it does not print the last rpt which is blank (i.e. gets to end of "list")? "Lightjag" wrote: Ok, I added the code, but I still have the same problem. Just to recap, I have a "list" in col 1a:a3, I want to copy the cell a1 to location ticker and print report, then copy a2 to ticker and print report and then copy a3 to location ticker and print report. the report updates based on the value pasted into location ticker. The macro below cycles through a1:a3, but only prints once (i.e. when it gets to end of list, a3). It should be printing each time a value is pasted into location "ticker". Below is what the current code looks like. Sub printinfo() Dim n As Integer n = 1 Do Application.Goto Reference:="list" ActiveCell.Offset(n + 1, 0).Select Selection.copy Application.Goto Reference:="ticker" Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("ticker").Offset(n, 1).Select ActiveWindow.SelectedSheets.PrintOut n = n + 1 Loop Until IsEmpty(ActiveCell.Offset(0, 1)) End Sub " wrote: Hi It is pasting everything to one place "ticker" so you only see the last one. You probably need to use offset like Range("ticker").offset(n,1) to print n rows below "ticker". regards Paul On Mar 14, 2:10 pm, Lightjag wrote: Ok I made the change, but it still only prints the last item in the list (instead of printing each item in the list). Vlookup is just not the issue here, as it is just updating the report based on the value in cell A1. " wrote: Hi In first sub n is not being incremented. Put in n = n+1 after the printout line. Don't know what you want in your second question. What is a name? What does "vlookup keys off A1" mean? regards Paul On Mar 13, 6:18 pm, Lightjag wrote: Any ideas? "Lightjag" wrote: Ok the macro below cycles throught the list but only prints when it gets to bottom of list. What should I change to get it to print each time is cycles throught the list? Tks Sub printinfo() Dim n As Integer n = 1 Do Application.Goto Reference:="list" ActiveCell.Offset(n + 1, 0).Select Selection.copy Application.Goto Reference:="ticker" Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveWindow.SelectedSheets.PrintOut Loop Until IsEmpty(ActiveCell.Offset(0, 1)) End Sub "Lightjag" wrote: Also for purposes of this ex/ I would like each name copied to cell A1, as the vlookup keys off A1 to update the report, cycling through the list and printing each report. -- Thanks "Lightjag" wrote: 1) I have a report in sheet 1 that is populated by data in another sheet using vlookup. 2) I have a range name = "list" (in sheet 1 as well, which lists ticker symbol) 3) I would like the macro to loop through all the names in the "list" range and print the reports. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
dynamic summary report | Excel Worksheet Functions | |||
Dynamic chart pasted to a new workbook in report can't be dynamic | Charts and Charting in Excel | |||
Macro print range not dynamic like I wanted it to be | Excel Worksheet Functions | |||
Making print range dynamic in macro | Excel Programming | |||
Macro to print a dynamic range | Excel Programming |