У меня есть макрос VBA в Access 2016 (на самом деле, написанный для более ранней версии, но сейчас я работаю с 2016). Он настраивает несколько электронных таблиц Excel и перемещает их в другое место, а также записывает некоторые журналы в таблицу SQL.
Одним из изменений является объединение нескольких объединенных ячеек. Странно то, что эти файлы Excel не могут обрабатываться время от времени (не всегда), когда эта база данных Access запускается программно (из другого макроса в другой базе данных Access). Когда я запускаю его вручную или пошагово выполняю отладку, он всегда работает - поэтому я запутался и не могу найти причину.
Я попытался заменить "MergeCells = False" на "Unmerge "- это то же самое. Я также попытался создать новый файл ACCDE - безрезультатно.
Это часть кода, в которой происходит разуплотнение.
xlsh.Select
xlsh.Range("A1:D1").Select
xlsh.Outline.ShowLevels RowLevels:=2
With Selection
.UnMerge
End With
xlsh.Range("A1").Value = "Alfa"
xlsh.Range("B1").Value = "Bravo"
xlsh.Range("C1").Value = "Golf"
xlsh.Range("D1").Value = "Tango"
xlsh.Range("A1").Select
If xlsh.Range("A1").Value = "" Then GoTo error
Когда не удается разгрузить ячейку, значение выигралему не присвоено, и в конце она пуста, поэтому продолжает помечаться как «ошибка».