Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 59
Default Sheets Loops error

I am trying to create a loop with variable sheet names and I am having
issues. The error I'm getting right now is "Duplicate declaration in
current scope." I declare all the sheet names as Strings because if I
don't I get "Compile Error: Sub or Function not defined"

This code is fairly simple so I'm hoping that someone can take a look
and easily see what I'm doing wrong.

Sub MyLoop()

Dim DataSheet(1) As String
Dim DataSheet(2) As String
Dim DataSheet(3) As String
Dim DataSheet(4) As String
Dim DataSheet(5) As String
Dim RptSheet(1) As String
Dim RptSheet(2) As String
Dim RptSheet(3) As String
Dim RptSheet(4) As String
Dim RptSheet(5) As String

i = 1

DataSheet(1) = "Owned Data"
DataSheet(2) = "Owned+BenchData"
DataSheet(3) = "RiskIndexExpData"
DataSheet(4) = "ARIE Data"
DataSheet(5) = "Owned+BenchData"

RptSheet(1) = "Owned"
RptSheet(2) = "Plus Benchmark"
RptSheet(3) = "RiskIndexExposures"
RptSheet(4) = "Asset Risk Index Exposures"
RptSheet(5) = "ARIE - Plus Benchmark"

Do Until i 5

Sheets(DataSheet(i)).Select
Cells.Select
Selection.Copy
Sheets(RptSheet(i)).Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
i = i + 1
Loop

End Sub

Thank you I appreciate it!
Brian
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,441
Default Sheets Loops error

Brian,

You are using arrays, so you need to declare your variables as arrays.

Change

Dim DataSheet(1) As String
Dim DataSheet(2) As String
Dim DataSheet(3) As String
Dim DataSheet(4) As String
Dim DataSheet(5) As String
Dim RptSheet(1) As String
Dim RptSheet(2) As String
Dim RptSheet(3) As String
Dim RptSheet(4) As String
Dim RptSheet(5) As String

to

Dim DataSheet(1 to 5) As String
Dim RptSheet(1 to 5) As String


You could also use variables like this, but you would have a harder time looping...

Dim DataSheet1 As String
Dim DataSheet2 As String
Dim DataSheet3 As String
Dim DataSheet4 As String
Dim DataSheet5 As String
Dim RptSheet1 As String
Dim RptSheet2 As String
Dim RptSheet3 As String
Dim RptSheet4 As String
Dim RptSheet5 As String


--
HTH,
Bernie
MS Excel MVP


"Bongard" wrote in message
...
I am trying to create a loop with variable sheet names and I am having
issues. The error I'm getting right now is "Duplicate declaration in
current scope." I declare all the sheet names as Strings because if I
don't I get "Compile Error: Sub or Function not defined"

This code is fairly simple so I'm hoping that someone can take a look
and easily see what I'm doing wrong.

Sub MyLoop()

Dim DataSheet(1) As String
Dim DataSheet(2) As String
Dim DataSheet(3) As String
Dim DataSheet(4) As String
Dim DataSheet(5) As String
Dim RptSheet(1) As String
Dim RptSheet(2) As String
Dim RptSheet(3) As String
Dim RptSheet(4) As String
Dim RptSheet(5) As String

i = 1

DataSheet(1) = "Owned Data"
DataSheet(2) = "Owned+BenchData"
DataSheet(3) = "RiskIndexExpData"
DataSheet(4) = "ARIE Data"
DataSheet(5) = "Owned+BenchData"

RptSheet(1) = "Owned"
RptSheet(2) = "Plus Benchmark"
RptSheet(3) = "RiskIndexExposures"
RptSheet(4) = "Asset Risk Index Exposures"
RptSheet(5) = "ARIE - Plus Benchmark"

Do Until i 5

Sheets(DataSheet(i)).Select
Cells.Select
Selection.Copy
Sheets(RptSheet(i)).Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
i = i + 1
Loop

End Sub

Thank you I appreciate it!
Brian



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 10,124
Default Sheets Loops error

Try this idea

Sub dosheets()

Dim DataSheet(1 To 5) As String
Dim RptSheet(1 To 5) As String

DataSheet(1) = "Owned Data"
DataSheet(2) = "Owned+BenchData"
DataSheet(3) = "RiskIndexExpData"
DataSheet(4) = "ARIE Data"
DataSheet(5) = "Owned+BenchData"

RptSheet(1) = "Owned"
RptSheet(2) = "Plus Benchmark"
RptSheet(3) = "RiskIndexExposures"
RptSheet(4) = "Asset Risk Index Exposures"
RptSheet(5) = "ARIE - Plus Benchmark"

For i = 1 To 5
Sheets(DataSheet(i)).cells.Copy
Sheets(RptSheet(i)).Range("a1").PasteSpecial Paste:=xlPasteValues
Next i

End Sub

--
Don Guillett
Microsoft MVP Excel
SalesAid Software

"Bongard" wrote in message
...
I am trying to create a loop with variable sheet names and I am having
issues. The error I'm getting right now is "Duplicate declaration in
current scope." I declare all the sheet names as Strings because if I
don't I get "Compile Error: Sub or Function not defined"

This code is fairly simple so I'm hoping that someone can take a look
and easily see what I'm doing wrong.

Sub MyLoop()

Dim DataSheet(1) As String
Dim DataSheet(2) As String
Dim DataSheet(3) As String
Dim DataSheet(4) As String
Dim DataSheet(5) As String
Dim RptSheet(1) As String
Dim RptSheet(2) As String
Dim RptSheet(3) As String
Dim RptSheet(4) As String
Dim RptSheet(5) As String

i = 1

DataSheet(1) = "Owned Data"
DataSheet(2) = "Owned+BenchData"
DataSheet(3) = "RiskIndexExpData"
DataSheet(4) = "ARIE Data"
DataSheet(5) = "Owned+BenchData"

RptSheet(1) = "Owned"
RptSheet(2) = "Plus Benchmark"
RptSheet(3) = "RiskIndexExposures"
RptSheet(4) = "Asset Risk Index Exposures"
RptSheet(5) = "ARIE - Plus Benchmark"

Do Until i 5

Sheets(DataSheet(i)).Select
Cells.Select
Selection.Copy
Sheets(RptSheet(i)).Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
i = i + 1
Loop

End Sub

Thank you I appreciate it!
Brian


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 59
Default Sheets Loops error

Thank you both these suggestions worked beautifully!

Brian
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Ifs, Selects & Loops Error Statements DS Excel Programming 0 May 23rd 06 01:48 PM
ADO & Loops: error in code? Santiago[_2_] Excel Programming 2 July 28th 05 07:25 PM
On Error and Loops ThisShouldBeEasy Excel Programming 1 June 8th 05 06:53 PM
Error Handling with Nested Loops Ctal Excel Programming 3 September 22nd 04 03:00 AM
Error Handling and For-Next Loops SuperJas Excel Programming 2 May 28th 04 07:41 AM


All times are GMT +1. The time now is 11:09 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"