Vraag : Excel VBA: Hoe te om dynamisch gecre�ërde code/koord in werking te stellen

De Deskundigen van Hey,

I am een koord proberen uit te voeren dat ik dynamisch heb gecre�ërd.  Ik bouw deze code door een lijn, dan behoefte om het uit te voeren epilogen.  Zijn er een functie of een manier dat ik dit kan doen?  Of als er niet zijn, is er een alternatieve manier om mijn kwestie op te lossen?  Zie Code voor wat ik aan do.
probeer
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
Function RunCode (TotalRows)
    Schemerige SelectionString als Koord
    Schemerige teller als Geheel
        SelectionString = „Bestemming Selection.TextToColumns: =ActiveCell, datatype: =xlFixedWidth, FieldInfo: =Array (“
        
        Als (tegen = 0) Dan
            SelectionString = SelectionString & „Serie (“ & myArray (tegen) & „, 2)“
        Anders
            SelectionString = SelectionString & „, Serie (“ & myArray (tegen) & „, 2)“
        Eind als
        teller = tegen + 1
    Lijn tot (tegen > TotalRows)
    SelectionString = SelectionString & „), TrailingMinusNumbers: =True“
    MsgBox (SelectionString)
    'Dit koord veroorzaakt met succes de functie om tekst in mijn selectie in kolommen om te zetten.
    'Nochtans, is SelectionString duidelijk een koord, en kijkt als functie I behoefte, maar ik heb een manier nodig om het uit te voeren.
    'Of ik heb een verschillende manier nodig om dit te doen. TotalRows verandert elke keer, zodat heb ik een manier nodig om deze grote serie dynamisch te bouwen „FieldInfo“
    'NOTA: myArray is een globale serie, zich ongerust maakt niet over wat daarin is.
De Functie van het eind

Antwoord : Excel VBA: Hoe te om dynamisch gecre�ërde code/koord in werking te stellen


Ik schreef de volgende code voor een ander probleem, heb ik het onnodige materiaal genomen, geloof ik dit een veel betere manier is om het openen van het bovengenoemde werkboek te naderen, dan sluitend het, dan ophoudend met uitblink

merk de privé functie bij de bodem op, ook veronderstelt dit u een verwijzing om in het project zult toevoegen uit te blinken en ook het gebruik Excel = microsoft.blah.blah.blha invoert

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
Schemerige excelApp als Excel.Application
        Schemerige WB als Excel.Workbook
        Schemerige workbookName als Koord = „de Naam van het Werkboek van de Test“

        'open Excel aan geminimaliseerde staat
        excelApp = Nieuwe Excel.Application ()
        excelApp.Visible = CBool (Microsoft.Office.Core.MsoTriState.msoTrue)
        excelApp.WindowState = Excel.XlWindowState.xlMinimized

        'open werkboek
        WB = excelApp.Workbooks.Open (workbookName, Microsoft.Office.Core.MsoTriState.msoFalse, _
                                     Microsoft.Office.Core.MsoTriState.msoFalse, _
                                     Microsoft.Office.Core.MsoTriState.msoTrue)
	
	WB.close
	excelApp.quit

        'behoefte om deze Comvoorwerpen vrij te geven of zij kunnen in de lopende diensten open blijven
        ReleaseObject (excelApp)
        ReleaseObject (WB)
        ReleaseObject (WS)
        ReleaseObject (doel)

        excelApp = niets
        WB = niets
        WS = niets
        doel = niets
        'Wis targetArray

        'stel vuilnisman in werking
        GC.Collect ()

    Privé SubReleaseObject (ByVal o als Voorwerp)
        Probeer
            System.Runtime.InteropServices.Marshal.ReleaseComObject (o)
        Vangst ex als Uitzondering
        Tot slot
            o = niets
        Het eind probeert

    Sub van het eind
Andere oplossingen  
 
programming4us programming4us