|
▼夜勤当直者 さん:
おじゃまします
>エラーがでました。どこに間違っているのか?わからなくて、困っています。
とりあえず、構文エラーをなくすために、
ワークシート関数 CHAR() は VBAで Chr$関数にしましょう
また
>Dim I, I1 As Integer
は I のあとにも、As Integerを指定しないと、単にVariant型です。
Sub QT()
Dim kaku(1 To 78) As String
Dim I As Long, I1 As Long
For I = 1 To 78
Select Case I
Case Is <= 26
For I1 = 65 To 90
kaku(I1) = Chr$(I1) ' kakuの値:A,B・・・Z
Next I1
Case 27 To 52
For I1 = 65 To 90
kaku(I1) = "A" & Chr$(I1) ' kakuの値:AA,AB・・・AZ
Next I1
Case Is > 52
For I1 = 65 To 90
kaku(I1) = "B" & Chr$(I1) ' kakuの値:BA,BB・・・BZ
Next I1
End Select
Next I
End Sub
これで、コンパイルは通ると思いますが、配列の要素数が足りなくて
実行時エラーになりますね?
>ちなみに、I=1〜26の場合は、
> kakuの値:A,B・・・Z
> I=27〜52の場合は、
> kakuの値:AA,AB・・・AZ
> I=53〜78の場合は、
> kakuの値:BA,BB・・・BZ
> の結果を求めたいです。
ということからすると、こうですかね?
Sub try()
Dim kaku(1 To 78) As String
Dim I As Long
Dim S As String
For I = 1 To 26
S = Chr$(&H40 + I)
kaku(I) = S ' kakuの値:A,B・・・Z
kaku(I + 26) = "A" & S ' kakuの値:AA,AB・・・AZ
kaku(I + 52) = "B" & S ' kakuの値:BA,BB・・・BZ
Next I
'確認
For I = 1 To 78
Debug.Print kaku(I),
Next
End Sub
|
|