ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Loop??? (https://www.excelbanter.com/excel-programming/341496-loop.html)

jhahes[_32_]

Loop???
 

I am stuck trying to do the following. Can someone please help. I am
novice and have Excel 2003.

I am in Sheet10.

I want the code to look at cell C2 in Sheet10.
If cell C2 in Sheet10 is blank, then go to C3 in Sheet10. (offset 1,0)

The range can go down to cell C23


If a cell in the range has a value then I want it to open a sheet ( th
name of the sheet is in the corresponding Column A of Sheet10.)

For example

The code looks starts in Sheet10 (Column C, Row2) finds that it i
empty and goes to the next row in that column. Finally in Row 10 i
finds a value. So then I want it to go to the corresponding ro
(Column A) or activecell.offset(0,-2) and open that sheet. So in thi
example, say Column A, Row 10 value is (Fiesta). So I want the code t
open Sheet45(Fiesta) and put the value in column c row 10 in Fiest
sheet "A1"), then print Fiesta Sheet. And finally loop thru rows 3:2
in Sheet10.

Sorry, this probably wasn't explained very well.

I would appreciate any help.

thanks Jos

--
jhahe
-----------------------------------------------------------------------
jhahes's Profile: http://www.excelforum.com/member.php...fo&userid=2359
View this thread: http://www.excelforum.com/showthread.php?threadid=47187


Tom Ogilvy

Loop???
 
Dim cell as Range, bk as Workbook
for each cell in Range("C2:C23")
if not isempty(cell) then
set bk = workbooks.Open("C:\Myfolder\" & cell.offset(0,-2).Value _
& ".xls)
bk.Worksheets("Sheet45").Range("A1").Value = cell
bk.Worksheets("Sheet45").Printout
bk.close Savechanges:=False
End if
Next

Your description falls apart where you say what you want to do after opening
the workbook, so adjust the macro to suit your needs.

--
Regards,
Tom Ogilvy



"jhahes" wrote in
message ...

I am stuck trying to do the following. Can someone please help. I am a
novice and have Excel 2003.

I am in Sheet10.

I want the code to look at cell C2 in Sheet10.
If cell C2 in Sheet10 is blank, then go to C3 in Sheet10. (offset 1,0)

The range can go down to cell C23


If a cell in the range has a value then I want it to open a sheet ( the
name of the sheet is in the corresponding Column A of Sheet10.)

For example

The code looks starts in Sheet10 (Column C, Row2) finds that it is
empty and goes to the next row in that column. Finally in Row 10 it
finds a value. So then I want it to go to the corresponding row
(Column A) or activecell.offset(0,-2) and open that sheet. So in this
example, say Column A, Row 10 value is (Fiesta). So I want the code to
open Sheet45(Fiesta) and put the value in column c row 10 in Fiesta
sheet "A1"), then print Fiesta Sheet. And finally loop thru rows 3:23
in Sheet10.

Sorry, this probably wasn't explained very well.

I would appreciate any help.

thanks Josh


--
jhahes
------------------------------------------------------------------------
jhahes's Profile:

http://www.excelforum.com/member.php...o&userid=23596
View this thread: http://www.excelforum.com/showthread...hreadid=471874




havocdragon

Loop???
 
So if I am understanding you correcntly, you want each row to correspond to a
different sheet? So C3 = sheet 1, C4 = sheet 2? and so on? If thats the case
try this...

Dim strSheet As String
Dim strCell As String
Dim strCellAddress As String

Sheets("Sheet1").Select
Range("C3:C23").Select

For Each cell In Selection
Sheets("Sheet1").Select
If ActiveCell = strCell Then
ActiveCell.Offset(1, 0).Select
End If
If ActiveCell = "" Then
ActiveCell.Offset(1, 0).Select
End If
If ActiveCell < "" Then
strCell = ActiveCell
strCellAddress = Selection.Columns.Address
ActiveCell.Copy
strSheet = ActiveCell.Offset(0, -2)
Sheets(strSheet).Select
Range(strCellAddress).Select
ActiveSheet.Paste
Workbook.Worksheets(strSheet).PrintOut
End If
If Selection.Columns.Address = "$C$23" Then
Exit For
End If

Next cell

Sheet 1 would be whatever sheet it is you are getting your data from. Here
is what you do, find an empy column, and place the sheet name in the
corresponding row, this is where the "strSheet = ActiveCell.Offset(0, -2)"
comes into play. So if your sheet name is in column d you would do
offset(0,1) instead.

"jhahes" wrote:


I am stuck trying to do the following. Can someone please help. I am a
novice and have Excel 2003.

I am in Sheet10.

I want the code to look at cell C2 in Sheet10.
If cell C2 in Sheet10 is blank, then go to C3 in Sheet10. (offset 1,0)

The range can go down to cell C23


If a cell in the range has a value then I want it to open a sheet ( the
name of the sheet is in the corresponding Column A of Sheet10.)

For example

The code looks starts in Sheet10 (Column C, Row2) finds that it is
empty and goes to the next row in that column. Finally in Row 10 it
finds a value. So then I want it to go to the corresponding row
(Column A) or activecell.offset(0,-2) and open that sheet. So in this
example, say Column A, Row 10 value is (Fiesta). So I want the code to
open Sheet45(Fiesta) and put the value in column c row 10 in Fiesta
sheet "A1"), then print Fiesta Sheet. And finally loop thru rows 3:23
in Sheet10.

Sorry, this probably wasn't explained very well.

I would appreciate any help.

thanks Josh


--
jhahes
------------------------------------------------------------------------
jhahes's Profile: http://www.excelforum.com/member.php...o&userid=23596
View this thread: http://www.excelforum.com/showthread...hreadid=471874




All times are GMT +1. The time now is 05:34 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com