Мне нужно напечатать строку массивов, зависящих от разницы двух значений, на моей странице ввода, чтобы разделить листы в одном и том же PDF, но у меня возникли некоторые проблемы.
На основе разницы двух ячеек функция будет определять, какие массивы следует печатать.
Есть два возможных решения, о которых я думал, но безуспешно пытался оба.
Косвенно ссылается на строку массивов в ячейке для печати, такую как «abc,bcd, cde, def, efg ... "
(как показано ниже) Используйте условные функции if-then для вызова массива на основе разницы в этих двух ячейках
Основные цели
- Печать в одном PDF
- Определение определенных массивов для печати в зависимости от разницы двух значений, содержащихся в ячейке на моей входной странице
- Разрешить значения PageSetup (выяснили это)
Я использую MSFT 365. Сначала я попытался использовать косвенную ссылку на массив для ячейки со строкой значения переменной, включая массивыбыть включенным без успеха.
Далее я попытался жестко закодировать все 100 возможных значений для этой разницы, но в этом случае я сталкиваюсь с ограничениями строки и ошибками, связанными с использованием _ для продолженияФункция массива в другой строке.
Если значение разности равно 3, оно показано ниже.Если значение разности равно 4, вы бы добавили еще одну строку массива, включая «schedule05», «report05», «p & l05»
Option Explicit
Sub PrintTest()
'if a certain difference value, use
If (Worksheets("Inputs").Range("D7") - Worksheets("Inputs").Range("D6")) = "3" Then
Dim pageArray As Variant
'set array for given difference
pageArray = Array("schedule01", "report01", "p&l01", _
"schedule02", "report02", "p&l02", _
"schedule03", "report03", "p&l03", _
"schedule04", "report04", "p&l04")
Worksheets("data").Activate
Worksheets("data").PageSetup.CenterHorizontally = True
'page setup values
With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
.Orientation = xlLandscape
End With
'call array for print
Worksheets("data").Range("pageArray").PrintOut
Elseif
'Here is where I could put another similar function for a difference of 4
'......
Else
'Here is where I could put another similar function for a difference of x
End If
End Sub
Я ожидал, что это даст мне PDF, где каждый из этих массивов напечатан наотдельный лист и напечатает выборку массивов на основе значения разности.