Hej, hoppas ni kan hjälpa mig med ett litet problem.
Försöker att överföra information mellan två Excel filer för att hålla ner filstorleken på användarens fil, lägga det mesta av makrot på annan plats.
Det färdiga programmet kommer att innehålla 25000+ rader kod och ett 70 tal underprogram.
Fått det att funka om Function används men då måste rätt parameter vara med och med 70 tal underprogram blir detta besvärligt.
Vill helst använda Sub och att alla parametrar/argument följer med mella de olika filerna, som det är nu blir det inte så.
Sub Slave, ingen data följer med på något håll men Dim blir rätt
Sub SlaveE, data följer med från master till slave men inte tillbaka
Function Slavef, funkar men rätt parametrar måste hela tiden följa med...
Vad gör jag för fel?
Kod i Master.xlsm
Public ZOP, ZST As Integer
Option Explicit
Public WorkbookName As String
Public MacroName As String
Public pris() As Integer 'Funkar med Function
Public Sub CallAnotherMacroSub() '(ZOP, ZST) ' As Integer)
WorkbookName = "Slave.xlsm"
MacroName = "Slave"
ZOP = 1
ZST = 2
Application.Run "'" & WorkbookName & "'!Slave", ZOP, ZST 'Data med p? enah?llet men inte tilbaka
'Application.Run "'" & WorkbookName & "'!Slave"
ZOP = ZOP
ZST = ZST
End Sub
Public Sub CallAnotherMacroFunc()
WorkbookName = "Slave.xlsm"
MacroName = "Slave"
ZOP = 1
ZST = 2
'Funkar med Function
pris = Application.Run("'" & WorkbookName & "'!Slavef", ZOP, ZST)
ZOP = pris(0)
ZST = pris(1)
End Sub
Kod i Slave.xlsm
Public ZOP, ZST As Integer
Option Explicit
Public ut(1) As Integer
Sub Slave(ZOP As Integer, ZST As Integer)
ZOP = ZOP + 2
ZST = ZST + 3
'ZOP ZOP
'ZST ZST
End Sub
Sub SlaveE(ZOP As Integer, ZST As Integer)
ZOP = ZOP + 2
ZST = ZST + 3
'ZOP ZOP
'ZST ZST
End Sub
Function Slavef(ZOP, ZST)
'Dim ut(1) As Integer
ut(0) = ZOP + 2
ut(1) = ZST + 3
Slavef = ut
End Function