Solved

Problem with for statement

Posted on 2004-04-29
14
309 Views
Last Modified: 2010-05-18
           for i=0 to UBound(array,2)  ' Go Up to Down in array (column)
                 for j=0 to UBound(array,1) ' Go left to right in array (row)
                             If ((j <> 0) OR (j <> 3)) Then
                                    objSpreadsheet.Cells(i + 2,j + 1).Value = array(j,i)
                              End If
                 next
            Next

This doesn't work.  The OR portion is what is not working.  If I use one parameter, it works fine and skips that value in the array:

            for i=0 to UBound(array,2)  ' Go Up to Down in array (column)
                 for j=0 to UBound(array,1) ' Go left to right in array (row)
                             If j <> 3 Then
                                    objSpreadsheet.Cells(i + 2,j + 1).Value = array(j,i)
                              End If
                 next
            Next
0
Comment
Question by:dba123
  • 7
  • 7
14 Comments
 
LVL 10

Accepted Solution

by:
Shailesh15 earned 500 total points
ID: 10952214
Try...

 for i=0 to UBound(array,2)  ' Go Up to Down in array (column)
               for j=0 to UBound(array,1) ' Go left to right in array (row)
                         If ((j <> 0) AND (j <> 3)) Then
                              objSpreadsheet.Cells(i + 2,j + 1).Value = array(j,i)
                         End If
               next
          Next
0
 
LVL 1

Author Comment

by:dba123
ID: 10952268
thanks, I should have tried that
0
 
LVL 1

Author Comment

by:dba123
ID: 10952406
what about this one

            for ((i=0 to UBound(array,2)) AND (a=0 to Ubound(array,2)))  ' Go Up to Down in array (column)
                 for ((j=0 to UBound(array,1)) AND ((b=0 to Ubound(array,2))) ' Go left to right in array (row)
                             If ((b <> 0) AND (b <> 3)) Then
                                    objSpreadsheet.Cells(i + 2,j + 1).Value = array(b,a)
                              End If
                 next
            Next

giving me error:

Expected identifier

for ((i=0 to UBound(array,2)) AND (a=0 to Ubound(array,2)))
0
 
LVL 10

Expert Comment

by:Shailesh15
ID: 10952429
It's not possible to have condition like that...:(

What are you trying to do? Can't you use same i , j for a, b?
0
 
LVL 1

Author Comment

by:dba123
ID: 10952451
basically, I can't use j and i for both the spreadsheet cells and the array.  Because the spreadsheet cell columns are off if I skip j when I used j in the array (shown at the very top in my initial post)

So I am only wanting to skip the array value if the array value is 0 or 3, not the spreadsheet cell so that is why I used another pair of variables for the array..so I can just check for 0 or 3 just for the array.....the spreadsheet should remain using the j and i as is.
0
 
LVL 10

Expert Comment

by:Shailesh15
ID: 10952615
Try this..

    for a=0 to Ubound(array,2)  ' Go Up to Down in array (column)
               for b=0 to Ubound(array,2) ' Go left to right in array (row)
                         If ((b <> 0) AND (b <> 3)) Then
                              objSpreadsheet.Cells(i + 2,j + 1).Value = array(b,a)
                 
                              j=j+1
                         End If
                next
             i=i+1
         Next
0
 
LVL 10

Expert Comment

by:Shailesh15
ID: 10952695
you may need to change  

for b=0 to Ubound(array,2)

to  

for b=0 to Ubound(array,1) ...
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 1

Author Comment

by:dba123
ID: 10952716
     j=0
      i=0

    for a=0 to Ubound(array,2)  ' Go Up to Down in array (column)
               for b=0 to Ubound(array,2) ' Go left to right in array (row)
                         If ((b <> 0) AND (b <> 3)) Then
                              objSpreadsheet.Cells(i + 2,j + 1).Value = array(b,a)

                              j=j+1
                         End If
                next
             i=i+1
         Next
         
      End If


I get an error, I think because of where I set the initial value for the i and j variables

Microsoft Office Web Components 9.0 error 'e004002a'
0
 
LVL 1

Author Comment

by:dba123
ID: 10952743
I changed the Ubound from 2 to 1, just that you don't see it in my post above
0
 
LVL 10

Expert Comment

by:Shailesh15
ID: 10952762
Couple of bugfixes before you findout yourself!


for i=0 to UBound(array1,2)  ' Go Up to Down in array (column)
               for j=0 to UBound(array1,1) ' Go left to right in array (row)
                         If ((j <> 0) AND (j <> 3)) Then
                               objSpreadsheet.Cells(i + 2,j + 1).Value = array(b,a)
                             
                              j=j+1
                         End If
               next
               j=0
               i=+1
          Next
0
 
LVL 1

Author Comment

by:dba123
ID: 10952805
Here it is

    for a=0 to Ubound(array,2)  ' Go Up to Down in array (column)
          j=0
               for b=0 to Ubound(array,1) ' Go left to right in array (row)
                           i=0
                         If ((b <> 0) AND (b <> 3)) Then
                              objSpreadsheet.Cells(i + 2,j + 1).Value = array(b,a)
                              j=j+1
                         End If
                next
             i=i+1
         Next

      End If
0
 
LVL 1

Author Comment

by:dba123
ID: 10952806
thanks much!!!
0
 
LVL 10

Expert Comment

by:Shailesh15
ID: 10952816
Looks ok... Are you still getting that error?
0
 
LVL 10

Expert Comment

by:Shailesh15
ID: 10952818
Ok I didn't see your post
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:  The Exchange of information …
I was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference: Let's make the introductions... Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interact…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now