• 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.

probleem met opslaan

Status
Niet open voor verdere reacties.

sharda002

Gebruiker
Lid geworden
21 mei 2010
Berichten
66
ik zit met een probleem, ik heb onderstaande code welke goed werkt
maar als ik op het werkblad b16 wijzigen naar "offerte"werkt deze niet.
heb al van alles geprobeerd maar lukt neit.
en als het dan offerte word dat de map waarin het opgeslagen word B:\offertes word de map is nu B:\projectadministratie

bedankt voor de hulp


Code:
 Sub opslaanexcelpdf()
'opslaan fakturen
If ActiveSheet.Name <> "faktuur" Then Exit Sub

If Range("b16") = ("Faktuur") Then

'controle cellen
If Range("c21") = ("") Then
MsgBox "U bent vergeten onze referentie in te vullen"
Range("c21").Select
Else
If Range("c22") = ("") Then
MsgBox "U bent vergeten Betreft in te vullen"
Range("c22").Select
Else

Range("C19:c20").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
'code voor opslaan
smap = "B:\projectadministratie\"
smap1 = Dir(smap & Left(Sheets("faktuur").Range("c21").Value, 6) & "*", 16)
If smap1 <> "" Then
smap = smap & smap1 & "\"
Else
With CreateObject("Scripting.FileSystemObject")
smap = smap & Sheets("faktuur").Range("c21").Value & "\"
.CreateFolder smap

End With
End If
WBnaam = smap & Sheets("faktuur").Range("b16") & " " & Range("c19") & " " & Range("b10") & " " & Range("c22")
ActiveWorkbook.SaveAs Filename:=WBnaam
ActiveWorkbook.Save
    
'opslaan pdf printer
Application.ActivePrinter = "Bullzip PDF Printer op Ne04:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
    "Bullzip PDF Printer op Ne04:", Collate:=True
ActiveWorkbook.Save

'Facturen automatisch kopieren naar debiteurenblad'
  Range("j2:p2").Select
Selection.Copy
Windows("Omzet en betaling overzicht.xls").Activate
Sheets("Debiteuren").Select
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Rows("1:1").Select
Selection.Copy
Rows("15:15").Select
Range("B15").Activate
Selection.Insert Shift:=xlDown
Selection.EntireRow.Hidden = False

        
'opschonen blad debiteuren
Rows("3:1000").Select
Range("B3").Activate
Selection.Sort Key1:=Range("N3"), Order1:=xlDescending, Key2:=Range("D3") _
        , Order2:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
        :=xlSortNormal
'regel 1 bedragen verwijderen
Range("G1:H1").Select
Selection.ClearContents

UserForm7.Hide
userform4.Show

ActiveWindow.WindowState = xlMinimized
ActiveWindow.WindowState = xlMaximized
      
'opslaan fakturen

End If
End If
End If

End Sub
 
klopt dat het niet werkt want je hebt in je code dit stukje staan.

Code:
If Range("b16") = ("Faktuur") Then

Hij werkt dus alleen als er Faktuur in de cel staat.

Werkt het zo?
Code:
If Range("b16") = ("Faktuur") or Range("b16") = ("Offerte")  Then


Niels
 
Laatst bewerkt:
Ja Niels dan werkt die wel, alleen als b16 "offerte" is dan wil ik dat die het bestand in een andere map opslaat B:\offertes
 
Dat is toch geen probleem,

Code:
If Range("b16") = ("Faktuur") Then smap = "B:\projectadministratie\"
If Range("b16") = ("Offerte") Then smap = "B:\Offerte\"

Niels
 
heb nog een probleempje Niels, ik wil verschillende tabbladen selecteren in de macro
kan je mij hier ook mee helpen??


Code:
If Range("b16") = ("Faktuur") Then ???????????
If Range("b16") = ("Offerte") Then  ???????????

  Range("j2:p2").Select
Selection.Copy
Windows("Omzet en betaling overzicht.xls").Activate
Sheets("Debiteuren").Select  'hier moet komen dat als het "offerte" is---sheets("offerte").select
    'en als het "faktuur" is ----sheets("debiteuren").select
 
zo zou het kunnen.

Code:
If Range("b16") = ("Faktuur") Then StBladnaam = "faktuur"
If Range("b16") = ("Offerte") Then StBladnaam = "Offerte"

  Range("j2:p2").Select
Selection.Copy
Windows("Omzet en betaling overzicht.xls").Activate
Sheets(StBladnaam).Select  'hier moet komen dat als het "offerte" is---sheets("offerte").select
    'en als het "faktuur" is ----sheets("debiteuren").select


Niels
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan