Проблема с настройкой диапазона непостоянного диапазона в vba access - PullRequest
0 голосов
/ 30 октября 2019

Я создаю лист Excel из Access, и мне нужно отформатировать лист из Access VBA, но когда я пробую этот фрагмент кода, он возвращает ошибку 1004:

Set rng = .Range("A2:E" & LastRow & "," & "J2:M" & LastRow)
With rng
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlVAlignCenter
End With

Если я пробую его дляв каждом диапазоне он работает:

Set rng = .Range("A2:A" & LastRow)

У меня есть тот же самый фрагмент кода в электронной таблице Excel, и он работает как чудо, но, возможно, из Access я должен использовать другой синтаксис:

With DestWB.Sheets(strSheetName)
  .Range("B2:B" & MyLastRow - 3 & "," & "D2:D" & MyLastRow - 3 & "," & "H2:H" & MyLastRow - 3 & "," & "I2:I" & MyLastRow - 3).HorizontalAlignment = xlCenter
End With

Может кто-нибудь указать мне, как применить форматирование к непостоянным диапазонам на подобном этому?

1 Ответ

1 голос
/ 30 октября 2019

Ну, это потому, что вы назначаете 2 диапазона одному диапазону. Вы можете указать 2 объекта ячейки в качестве параметров или одну строку (как в вашем рабочем примере).

Я не знаю, что вы пытаетесь сделать, но я бы предложил назначить эти 2 * 1003. * до 2 различных переменных, а затем используйте эти переменные по отдельности.

Set rng1 = .Range("A2:E" & LastRow)
Set rng2 = .Range("J2:M" & LastRow)

щелкните здесь , чтобы узнать больше об использовании объекта Range.

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