VBA Чистое использование многих констант - PullRequest
1 голос
/ 07 декабря 2009

My Excel VBA берет ~ 300 файлов XLS и захватывает 8 ячеек для размещения в своем собственном ряду. (Office11) У меня есть несколько подпрограмм и функций, которые используют константы расположения для sourceData и мест назначения. Итого У меня 23 постоянных местоположения с номерами столбцов, ячейками.

Вопрос: Какие-либо предложения о том, как очистить это для удобства чтения и хранения всех констант в одном месте? Я пытался избежать открытых переменных, но не уверен в лучшем методе. Как вы делаете массивы, содержащие постоянные значения?

частичный пример,
Public pstrQLocations(1 To 8) As String <Br> pstrQLocations(1) = "B7" <br> pstrQLocations(2) = "B6"<br> pstrQLocations(3) = "B5"<br> pstrQLocations(4) = "B8"<br> pstrQLocations(5) = "A3"<br> pstrQLocations(6) = "C8"

1 Ответ

1 голос
/ 07 декабря 2009

Вы можете хранить свои константы в Collection. Преимущество заключается в том, что вы можете дать имена своим элементам.

Option Explicit
Dim pstrQLocations As Collection

Private Sub initializeConstants()
    Set pstrQLocations = New Collection

    pstrQLocations.Add "B7", "Title"
    pstrQLocations.Add "B6", "User"
End Sub

Private Sub showConstants()
    initializeConstants
    Debug.Print Me.Range(pstrQLocations("Title")).Value
    Debug.Print Me.Range(pstrQLocations("User")).Value
End Sub

3D версия:

Option Explicit
Dim pstrQLocations As Collection

Private Sub initializeConstants()
    Dim title As New Collection

    Set pstrQLocations = New Collection

    title.Add "B7", "source"
    title.Add "A6", "destination"

    pstrQLocations.Add title, "Title"
End Sub

Private Sub showConstants()
    Dim y As Collection
    initializeConstants

    Debug.Print pstrQLocations("Title")("source")
    Debug.Print pstrQLocations("Title")("destination")
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...