Как вызвать многомерную таблицу из одной функции в другую - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь вызвать многомерную таблицу из одной функции в другую, но получаю ошибку:

Sub или Function не определены

вот что я пробовал:

Public Function update()

Public tabPerformance(11, 16) As Long

If (Worksheets("Feuil1").Range("E3").Value = "Performance") Then

    For j = 0 To j = 1
        For i = 0 To i = 1
            For k = 3 To 5

                For l = 6 To 8

                    tabPerformance(j, i) = Cells(l, k).Value

                    MsgBox tabPerformance(j, i)

                Next l

            Next k
        Next i
    Next j

End If

If (Worksheets("Feuil1").Range("E3").Value = "Inflation") Then

    For j = 0 To j = 1
        For i = 0 To i = 1
            For k = 3 To 5

                For l = 6 To 8

                    tabInflation(j, i) = Cells(l, k).Value

                    MsgBox tabInflation(j, i)

                Next l

            Next k
        Next i
    Next j

End If

и это функция, в которой я хочу вызвать таблицу tabPerformance:

Public Function recap()

Dim tabPerformanceCells(11, 16) As Long
If (Worksheets("Feuil1").Range("E3").Value = "Performance") Then

    For j = 0 To j = 1
        For i = 0 To i = 1
            For k = 3 To 5

                For l = 6 To 8

                    Cells(l, k).Value = tabPerformance(j, i)

                    MsgBox Cells(l, k).Value

                Next l

            Next k
        Next i
    Next j

End If

Мне нужно знать, как правильно вызывать tabPerformance из любого места, где я хочу.

1 Ответ

1 голос
/ 25 февраля 2020

Есть четыре вещи, о которых вы должны знать при разработке кода VBA.

  1. Поставьте «Явный вариант» в начале каждого модуля / класса. Это гарантирует, что вы не получите ошибок из-за неправильного синтаксиса имен переменных с ошибками.

  2. В IDE VBA, если вы нажмете F1, когда курсор находится на ключевом слове VBA, это будет откройте страницу справки MS для этой функции в VBA. Это должен быть ваш первый порт захода для любых ошибок, которые вы видите. Попробуйте это для ключевого слова F'or ', и вы увидите, что ваш синтаксис для For l oop неверен.

  3. Прежде чем запускать какой-либо код, убедитесь, что вы скомпилировали весь проект так что вы можете найти ошибки, которые не обнаружены Option Explicit. (Debug.Compile Project)

  4. Установите дополнение Fantasti c RubberDuck для VBA. Это бесплатное программное обеспечение. RubberDuck поможет сделать ваш код с хорошим отступом, позволит вам безопасно переименовать вещи и создать «Проверки кода», где проводится более строгий анализ кода VBA и даются советы о том, как писать код более безопасно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...