Avatar billede Wombasse Novice
21. februar 2019 - 10:53 Der er 10 kommentarer og
1 løsning

VBA kode der bestemmer filnavn og derefter gemmer på Sharepoint

Jeg har en excel skabelon i Sharepoint, hvor der hver dag skal oprettes en ny rapport ud fra.

Jeg har brug for hjælp til en kode der gemmer den nye excel rapport med følgende kriterier:

1. Vælger filnavn ud fra en tekst i en bestemt celle (her er det celle "W1" i Ark1)
2. Gemmer i .xlsm format
3. Automatisk vælger stien til den https://teamsite..... side på sharepoint og gemmer.

Jeg arbejder i Excel 2016 - og vores Teamsite er oprettet i sharepoint 2013 (Ihvertfald ikke 2016 versionen)

Håber der er en der kan hjælpe :)
Avatar billede kim1a Ekspert
21. februar 2019 - 11:11 #1
Kan du ikke prøve at optage det med makrooptageren så kan vi hjælpe med at rydde op så den ser lækker ud.
Avatar billede Wombasse Novice
21. februar 2019 - 11:21 #2
Jeg får ikke den del med, at den skal henvise til teksten i cellen.. det vil være ny filnavn hver gang der gemmes.Håber dette giver mening..


Sub Gemsom()
'
' Gemsom Makro
'

'
    ActiveWorkbook.SaveAs Filename:= _
        "https://teamsites.arlaintra.net/sites/HOCO/Dgnrapporten/Døgnrapport%2019-02-19%20Dag.xlsm" _
        , FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
Avatar billede Jan Hansen Ekspert
21. februar 2019 - 12:58 #3
prøv noget ala:

Sub Gemsom()
'
' Gemsom Makro
'

'
Dim wb as Workbook
Dim ws as worksheet
dim rCell as range
dim sSti as string
dim sFile as string
dim sPath as string
set wb=thisworkbook
set ws=wb.sheets("Ark1")
set rCell=ws.Range("W1")
sSti="https://teamsites.arlaintra.net/sites/HOCO/Dgnrapporten/"
sFile= rCell.value & Date & ".xlsm"
sPath=sSti & sFile


wb.SaveAs Filename:=sPath _
                , FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub

ej testet

Jan
Avatar billede kim1a Ekspert
21. februar 2019 - 13:17 #4
Her er en simpel løsning som gemmer på samme sted som den fil du kører makroen fra:

Sub Gemsom()
'
' Gemsom Makro
'
Dim strFilePath As String
Dim strFileName As String

strFilePath = ThisWorkbook.Path
strFileName = ThisWorkbook.Sheets(1).Range("W1").Value

Application.ActiveWorkbook.SaveAs Filename:=strFilePath & "\" & strFileName & ".xlsx"

End Sub
Avatar billede Wombasse Novice
21. februar 2019 - 14:34 #5
Kim1a

Jeg har lige prøvet din løsning og får valget om den skal gemmes uden VB- altså uden makroer.
Hvis jeg siger ja - får jeg error: 400 - siger jeg nej - får jeg run-time error '1004'.

Jan

Jeg får run-time error '9' på din løsning..
Avatar billede kim1a Ekspert
21. februar 2019 - 14:54 #6
Hvad sker der hvis du siger:
Sub Gemsom()
'
' Gemsom Makro
'
Dim strFilePath As String
Dim strFileName As String

strFilePath = ThisWorkbook.Path
strFileName = ThisWorkbook.Sheets(1).Range("W1").Value

Application.ActiveWorkbook.SaveAs Filename:=strFilePath & "\" & strFileName & ".xlsb"

End Sub
Avatar billede Wombasse Novice
21. februar 2019 - 15:03 #7
Den kommer stadig og spørger om den skal gemme med eller uden makroer. Uanset hvad jeg svarer får jeg nu error - '400'
Avatar billede Jan Hansen Ekspert
21. februar 2019 - 15:31 #8
Prøv denne



Option Explicit

Sub Makro1()
'
' Makro1 Makro
'

'
Dim wb As Workbook
Dim ws As Worksheet
Dim rCell As Range
Dim sPath As String
Set wb = ThisWorkbook
Set ws = wb.Sheets("Ark1")
Set rCell = ws.Range("W1")

sPath = "https://teamsites.arlaintra.net/sites/HOCO/Dgnrapporten/" & rCell & ".xlsm"
    ActiveWorkbook.SaveAs Filename:=sPath, FileFormat:=52, CreateBackup:=False
End Sub



Jan
Avatar billede Wombasse Novice
21. februar 2019 - 15:50 #9
Jan:
Nu får jeg "Subscript out of range" - besked.
Avatar billede Wombasse Novice
21. februar 2019 - 15:53 #10
Jan - det virker.. Jeg havde mellemrum i mit fane navn - og efter rettelse virker det.
Tak til jer begge to :)
Avatar billede Jan Hansen Ekspert
21. februar 2019 - 15:58 #11
Velbekomme
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

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