|
追伸です。
kanabunさんからループ回数を最も少なくした効率のいいコードがアップされているわけですが
オリジナルの構文の誤りを認識いただくには、以下のSample1も参考になるのかもしれません。
また、この範囲であればSample2のような処理も。
もし、夜勤当直者さんの目的が列番号を与えて列コードを取得するということであれば
GetColName といったファンクションプロシジャを書いておいて、
文字列変数 = GetColName(125) といったように取得することもできますね。
Sub Sample1()
Dim kaku(1 To 78) As String
Dim I As Integer
For I = 1 To 78
Select Case I
Case 1 To 26
kaku(I) = Chr$(I + 64) 'kakuの値:A,B・・・Z
Case 27 To 52
kaku(I) = "A" & Chr$(I - 26 + 64) 'kakuの値:AA,AB・・・AZ
Case Else
kaku(I) = "B" & Chr$(I - 52 + 64) 'kakuの値:BA,BB・・・BZ
End Select
Next I
End Sub
Sub Sample2()
Dim kaku(1 To 78) As String
Dim I As Integer
For I = 1 To 78
kaku(I) = Split(Columns(I).Address(False, False), ":")(0)
Next I
End Sub
Function GetColName(col As Integer) As String
Select Case col
Case 1 To Columns.Count
GetColName = Split(Columns(col).Address(False, False), ":")(0)
Case Else
GetColName = "#N/A"
End Select
End Function
|
|