Avatar billede sije-1976 Nybegynder
20. oktober 2011 - 14:26

Excel VBA - skriv til .xlt - gemme funktion i underligende mappe

Hejsa

Nu håber jeg, at jeg har oprettet dette opslag det rigtige sted.
Jeg kører stadig med VBA på amatørstadiget, så det er stadigt lidt så som så.

Jeg har muligvis to problemstillinger, som er meget dikteret af infrastruktur.
Jeg har en funktion i et ordinært .xlsm regneark, som giver brugeren (mange brugere mange regneark)mulighed for at indtaste varestamdata hurtigere og med bedre datakvalitet, hvilket er meget godt.
Vigtigt: Funktionen SKAL kunne eksekveres fra en USB-pind, fællesdrev eller personligt desc top. Derfor skal alle filreference kunne køres ved hjælp af en ThisWorkbook.path kode eller lignende. Drevet og alle overliggende mapper vil være ubekendte.

Disse data skal så overføres til en .xlt skabelon, som bruges til at indlæse data ind i firmaets ERP-system. Skabelonen vedligeholdes af en anden afdeling, hvis fokus ligger på at få data ind i systemet ikke datakvalitet, og derfor har jeg IKKE råderet over den del af problemstillingen.
Første problem:
Hvordan får jeg omgået skabelonens automatiske nummerering, så jeg kan overføre data via nedestående model (og der meget ud over dette)?

  Workbooks.Open Filename:= _
        (ThisWorkbook.Path & "\" & "Basic data" & "\" & "vareoprettelsesskabelon.xlt")
    MyWorkbook.Activate
    Sheets("AS400").Select
    Application.EnableEvents = False
    Range("A9:B9").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Windows("vareoprettelsesskabelon.xlt").Activate
    Range("A5").Select
    Selection.PasteSpecial Paste:=xlPasteValues

Jeg kan omgå nummeringen, hvilket jeg helst var fri for ved hjælp af denne funktion, fordi så kan brugeren komme at rette i skabelonen.

Sub Open_template() 'Kan under ingen omstændigheder åbnes fra specifik sti.
Set wbThis = ThisWorkbook
    ChDir wbThis.Path
    Workbooks.Open Filename:= _
        wbThis.Path & "\" & "Basic data" & "\vareoprettelsesskabelon.xlt" _
        , Editable:=True
End Sub

Jeg havde tænkt på en workaround ved gemme den som en backup i en underliggende mappe, men her er jeg løbet mod en mur. Nedenstående er kun en ud af mange fiaskoer.


Sub SaveMe()
Dim MyWorkbook As Workbook
Set MyWorkbook = ThisWorkbook

Run "Open_template"
MyWorkbook.Activate
Range("C2").Copy
Windows("vareoprettelsesskabelon.xlt").Activate
Sheets("Ark1").Select
Range("V1").Select 'Indeholder filnavnet
Selection.PasteSpecial Paste:=xlPasteValues

Application.DisplayAlerts = False
ChDir ThisWorkbook.Path & "\Temp"
ThisWorkbook.SaveAs Filename:=Range("V1") & ".xlsx"

End Sub

Så jeg tigger og beder om hjælp til enten så jeg kan flytte data fra min funktion til skabelonen eller til workarounden.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester