| 
    
     |  | ▼夜勤当直者 さん: おじゃまします
 
 >エラーがでました。どこに間違っているのか?わからなくて、困っています。
 
 とりあえず、構文エラーをなくすために、
 ワークシート関数 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
 
 |  |