ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   code works on some computers, but not on others (https://www.excelbanter.com/excel-programming/418566-code-works-some-computers-but-not-others.html)

Phillip M. Feldman

code works on some computers, but not on others
 
The following simple program is supposed to display one message box
containing the string "Jan", and a second one containing six month names
separated by dashes. At least one person reports getting this result from the
code, but when I run it on my two laptop computers, the first message box is
empty, and the second contains only the five dashes (no month names). All of
these are Windows XP PCs running Excel 2003. Any suggestions as to why this
is happening will be greatly appreciated.

Option Base 1
Dim Arr() As String

Sub assignArray()
ReDim Arr(5)

Arr(1) = €œJan€
Arr(2) = €œFeb€
Arr(3) = €œMar€
Arr(4) = €œApr€
Arr(5) = €œMay€

MsgBox Arr(1)

ReDim Preserve Arr(6)

Arr(6) = €œJun€

MsgBox Arr(1) + "-" + Arr(2) + "-" + Arr(3) + "-" + Arr(4) + "-" + Arr(5)
+ "-" + Arr(6)
End Sub

JLGWhiz

code works on some computers, but not on others
 
The problem appears to be the font for the quote marks. I copied the code
you posted and got the results you described. When I changed the quote marks
on the months, it worked. Below is the code with the courier font quote
marks. Try it.

Sub assignArray()
Dim myArr() As Variant
ReDim myArr(5) As Variant

myArr(1) = "Jan"
myArr(2) = "Feb"
myArr(3) = "Mar"
myArr(4) = "Apr"
myArr(5) = "May"

MsgBox myArr(1)

ReDim Preserve myArr(6)
myArr(6) = "Jun"

MsgBox myArr(1) + "-" + myArr(2) + "-" + myArr(3) + "-" + myArr(4) _
+ "-" + myArr(5) + "-" + myArr(6)
End Sub


"Phillip M. Feldman" wrote:

The following simple program is supposed to display one message box
containing the string "Jan", and a second one containing six month names
separated by dashes. At least one person reports getting this result from the
code, but when I run it on my two laptop computers, the first message box is
empty, and the second contains only the five dashes (no month names). All of
these are Windows XP PCs running Excel 2003. Any suggestions as to why this
is happening will be greatly appreciated.

Option Base 1
Dim Arr() As String

Sub assignArray()
ReDim Arr(5)

Arr(1) = €œJan€
Arr(2) = €œFeb€
Arr(3) = €œMar€
Arr(4) = €œApr€
Arr(5) = €œMay€

MsgBox Arr(1)

ReDim Preserve Arr(6)

Arr(6) = €œJun€

MsgBox Arr(1) + "-" + Arr(2) + "-" + Arr(3) + "-" + Arr(4) + "-" + Arr(5)
+ "-" + Arr(6)
End Sub


Phillip M. Feldman

code works on some computers, but not on others
 
You are 100 percent right about the quotes. I hadn't realized that using one
type of double quote symbol rather than another made such a difference.
Thanks!

The behavior of the program is now much closer to what I expected. In
particular, the first message box shows the string "Jan", which is correct.
The second message box shows the string "Jan-Feb-Mar-Apr-May-", which is
missing the sixth month name. It seems as though the redim statement is not
working. Any suggestions will be appreciated.

Phillip M. Feldman

code works on some computers, but not on others
 
Cancel previous. It appears that I failed to correct one of the quote
characters. The VBA editor should flag this, but it doesn't.


All times are GMT +1. The time now is 12:06 AM.

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