ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   vba outcome (https://www.excelbanter.com/excel-worksheet-functions/156239-vba-outcome.html)

harry buggy

vba outcome
 
can anyone tell me if theres any errors in this and what the outcome
would be?

sub test ()

dim I, J As Integer
dim x as single
for i = 1 to length
for j = 1 to (length - i)
If A(j) < A )j +1) Then
x = a(j +1) = A(j)
A(j) = x
end if
next j
next i
end sub


Bob Phillips

vba outcome
 
Test it!

--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)



"harry buggy" wrote in message
oups.com...
can anyone tell me if theres any errors in this and what the outcome
would be?

sub test ()

dim I, J As Integer
dim x as single
for i = 1 to length
for j = 1 to (length - i)
If A(j) < A )j +1) Then
x = a(j +1) = A(j)
A(j) = x
end if
next j
next i
end sub




bj

vba outcome
 
several things

where is length defined?

I would do it as
for i = 2 to length
(by going from 1 to length you have the j going from one to zero the first
iteration, whch it wont do

If A(j) < A )j +1) Then
needs to be
If A(j) < A (j +1) Then

x = a(j +1) = A(j)
needs to be
x=A(j+1)
A(J+1)=A(J)


"harry buggy" wrote:

can anyone tell me if theres any errors in this and what the outcome
would be?

sub test ()

dim I, J As Integer
dim x as single
for i = 1 to length
for j = 1 to (length - i)
If A(j) < A )j +1) Then
x = a(j +1) = A(j)
A(j) = x
end if
next j
next i
end sub



Pete_UK

vba outcome
 
1. You haven't defined what length is, nor the array A.
2. You mix upper and lower case i and j.
3. On your 7th line you have a closed bracket before the j+1 term -
should be open bracket.
4. Your 8th line does not make sense.

As for the outcome, are you trying to do a crude bubble sort?

Hope this helps.

Pete

On Aug 29, 12:19 pm, harry buggy wrote:
can anyone tell me if theres any errors in this and what the outcome
would be?

sub test ()

dim I, J As Integer
dim x as single
for i = 1 to length
for j = 1 to (length - i)
If A(j) < A )j +1) Then
x = a(j +1) = A(j)
A(j) = x
end if
next j
next i
end sub




David Biddulph[_2_]

vba outcome
 
Yes there are errors.

You can try proof-reading your macro, and/or you can try to run it and see
what errors it tells you about.
--
David Biddulph

"harry buggy" wrote in message
oups.com...
can anyone tell me if theres any errors in this and what the outcome
would be?

sub test ()

dim I, J As Integer
dim x as single
for i = 1 to length
for j = 1 to (length - i)
If A(j) < A )j +1) Then
x = a(j +1) = A(j)
A(j) = x
end if
next j
next i
end sub




Rick Rothstein \(MVP - VB\)

vba outcome
 
can anyone tell me if theres any errors in this...

sub test ()

dim I, J As Integer


The above statement only declares the variable J as an Integer; the variable
I will be declared as a Variant. In VBA, you must declare each variable's
type individually. So, you could write the above this way...

Dim I As Integer, J As Integer

or this way (your choice)....

Dim I As Integer
Dim J As Integer

My personal preference is for the latter, but that is only a personal
preference.

Rick



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

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