• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

2 VBA codes combineren in 1 code

Status
Niet open voor verdere reacties.

saggitarius

Gebruiker
Lid geworden
8 jan 2011
Berichten
34
De eerste keer dat ik een bestand wil opslaan (kopie) dat ik dat met de onderstaande code (dir aanmaak en opslaan onder de naam van C5)

Sub opslaan()

Dim s_dir As String

s_dir = "--:\-----\----" & Range("C5").Value
If Dir(s_dir, vbDirectory) = "" Then MkDir s_dir
ActiveSheet.Copy
ActiveWorkbook.SaveAs s_dir & "" & Range("I2").Value & ".xls"


Application.Quit
End Sub


Vervolgens als ik deze kopie (boven aangemaakt) bewerk en daarna weer wil opslaan (onder de naam in C5) doe ik dat met de onderstaande code

Sub opslaan 2()

ActiveWorkbook.Save

Application.Quit

End Sub


Is het mogelijk om de eerste en de tweede code te combineren; als ik de eerste code gebruik om de aangemaakte copie (bestand nr 2) op te slaan gaat het niet goed
 
Niet getest want geen voorbeeldbestand:
Code:
Sub opslaan()
Dim s_dir As String
s_dir = "--:\-----\----" & Range("C5").Value
If Dir(s_dir, vbDirectory) = "" Then MkDir s_dir
  If Len(Dir(s_dir & "" & Range("I2").Value & ".xls")) = 0 Then            ' Misschien moet je nog een "\" tussenvoegen
    ActiveWorkbook.SaveAs s_dir & "" & Range("I2").Value & ".xls"
  Else
    ActiveWorkbook.Save
  End If
Application.Quit
End Sub
 
Bekijk bijlage 7 Test.xls

Ik heb nu het onderstaande maar het vreemde is dat de tweede keer saven niet lukt (dan moet je een andere naam geven):

Sub opslaan()

Dim s_dir As String

s_dir = "X:\Codi trainingen\3- Operatorpaspoorten op naam" & Range("C5").Value
If Dir(s_dir, vbDirectory) = "" Then MkDir s_dir
ActiveSheet.Copy
ActiveWorkbook.SaveAs s_dir & "" & Range("I2").Value & ".xls"


If Len(Dir(s_dir & "" & Range("I2").Value & ".xls")) = 0 Then
ActiveWorkbook.SaveAs s_dir & "" & Range("I2").Value & ".xls"
Else
ActiveWorkbook.Save
End If

Application.DisplayAlerts = False

Application.Quit
End Sub
 
Bijna 7 jaar lid en dan nog niet weten dat je om VBA code voor de leesbaarheid code-tags moet zetten ?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan