не могли бы вы рассказать подробнее, я очень неопытен с VBA и mySQL, спасибо!
Как создать функцию массива.
Создать новую рабочую книгу. Откройте редактор VBA. Вставка - Модуль. Скопируйте код ниже:
Option Base 0 Public Function ReturnArray(Optional val As Integer = 1) As Variant() ' Application.Volatile Dim tmp() ReDim tmp(1, 1) tmp(0, 0) = val tmp(0, 1) = val + 1 tmp(1, 0) = val + 2 tmp(1, 1) = val + 3 ReturnArray = tmp End Function
Выберите A1: B2 на рабочем листе. Вставьте приведенную ниже формулу в поле формулы:
=ReturnArray()
или же
=ReturnArray(1)
или же
=ReturnArray(C1)
Завершите ввод формулы с помощью Ctrl-Enter, чтобы показать, что это формула массива. Диапазон назначения будет заполнен рассчитанными значениями.
Если вам необходимо пересчитать значения, поскольку исходное значение (ячейка C1 в последней формуле) было изменено, вы должны сделать это вручную, нажав клавишу F9.
Вы можете принудительно Application.Volatile
выполнить автоматический расчет, раскомментировав его, но вы должны помнить, что любое изменение на рабочем листе приведет к пересчету. Если ваш код подключается к внешнему серверу, это может быть очень дорого.
Связь с сервером MySQL не отличается от связи с любым другим сервером БД. Установите соответствующий коннектор MySQL, создайте соответствующий источник данных, используя его, и используйте ADODB для получения / редактирования нужных вам данных. Этот процесс хорошо документирован в MSDN.