Это небольшой пример моей проблемы
У меня есть две кнопки, которые я нажимаю, чтобы запустить анализ.
Кнопка 1 имеет список из 4 человек
Кнопка 2 имеет список из 3 животных
Я не могу смешать списки, иначе в моем анализе будут ошибки.
Раньше у меня был хороший код.
Когда мне нужно было что-то менять, мне было трудно поддерживать.
Я переместил его в подпрограммы для хорошего управления конфигурацией.
К сожалению, мне трудно передавать определенные переменные между подпрограммами
После некоторых исследований мне удалось опубликовать несколько переменных. Вариант кажется особенным. Есть предложения?
Public thisList As Variant
Public xlEvalSheet As Worksheet
Sub CommandButton1_Click()
thisList(1) = "Bobby"
thisList(2) = "Jane"
thisList(3) = "Lord Winter"
thisList(4) = "Jose"
Call DoStuff
EndSub
Sub CommandButton2_Click
thisList(1) = "Fluffy"
thisList(2) = "Fido"
thisList(3) = "Dog"
Call DoStuff
End Sub
Sub DoStuff()
Dim k Ks Variant
Dim counterTemple as Integer
Dim evalTables (0 to 3) as Variant
evalTables(0)= "EvalTable1.xlsx"
evalTables(1)= "EvalTable2.xlsx"
evalTables(2)= "EvalTable3.xlsx"
evalTables(3)= "EvalTable4.xlsx"
For Each doIt in evalTables
strEvalTable = NetworkLocation & doIt
counterTemple = 3 ' used inside the wdUpdateDataInText
For Each k In thisList
controlThis = k & "-" & counterTemple 'passes a string to the wdApp.contentcontrol
xlEvalSheet.Rows.Hidden = False
xlEvalSheet.Cells(1, 4).Value = k 'initialize k
xlEvalSheet.Calculate
DoEvents
Call wdUpdateDataInText 'this feeds data to MS Word ContentControls
currentDifference = xlEvalSheet.Cells(5, 6).Value 'stop blank tables from being produced
If currentDifference = 0 Then
Else
Call PDFcrate 'produces tables as PDFs with FixedFormatExport
End If
Next 'repeats for each tab with name "k" in the workbooks
xlEval.Close
counterTemple = counterTemple + 1
next
End Sub`