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

VBA MsgBox automatisch beantwoorden

Status
Niet open voor verdere reacties.

oeldere

Terugkerende gebruiker
Lid geworden
26 dec 2008
Berichten
2.741
Beste forumleden,

heb onderstaande code geschreven.
doel is:
1 automatisch ophogen van het faktuurnummer
2 gegevens automatisch opslaan
3 vervolgens (bepaalde) gegevens leegmaken
4 vervolgens de faktuur met lege gegevens opslaan als blanco faktuur

punt 1 t/m 3 is gelukt.

Vraag
bij 4 krijg ik de excel waarschuwing: dit bestand bestaat al.
dit zou ik graag automatisch met ja beantwoorden.

wat doe ik fout?

en ik denk dat de codes korter kan, maar daar kom ik later nog wel een keer op terug.
alvast bedankt voor het meedenken.

Code:
Sub Opslaan()
Range("b11").Value = Range("b11").Value + 1
ActiveWorkbook.SaveAs FileName:= _
"Z:\test\" & _
Sheets("invulblad").Range("c11") & "-" & _
Format(Sheets("invulblad").Range("b11"), "000") & " " & Sheets("invulblad").Range("b50") & ".xls"

ActiveSheet.Range("b3:b8").ClearContents
ActiveSheet.Range("d4:j7").ClearContents
Range("b48:j48").Value = "=1"

ActiveWorkbook.SaveAs FileName:= _
"Z:\test\" & _
"blanco faktuur" & ".xls"
End Sub
Function box() As String
    
    box = "Er bestaat in deze lokatie al een bestand met de naam: Z:\test\blanco faktuur.xls. Wilt u dit bestand vervangen?"
    
End Function

Sub Opslaan3()
box = vbOK
End Sub
 
Laatst bewerkt:
1) Dit is opslaan als .xlm (ot niet?

2) waarschijnlijk wel, maar neemt hij de nummering dan ook mee naar de volgende fakturen?
 
Wim heeft gelijk: maak een sjabloon (xlt)

Roep de faktuur op, geef deze een oplopend faktuurnummer en sla die daarmee op met

Code:
Sub nieuwe_faktuur()
  Application.displayalerts=false
  c0=dir("C:\fnr2010*)
  c1=mid(c0,4)+1
  name "C:\" & c0 as "C:\frn" & c1
  workbooks.add "faktuur.xlt"
  Activeworkbook.saveas E:\fakturen\2010\Faktuur " & c1 & "xls
  Application.Displayalerts=true
End sub
Er bestaat een bestand met de naam C:\fnr20100001, waarmee je de faktuurnummers bijhoudt.
 
Laatst bewerkt:
Volgens mij hoef je het bestand niet opnieuw op te slaan omdat het al is opgeslagen onder de nieuwe naam.
Overigens kan je dit ..

Code:
ActiveWorkbook.SaveAs FileName:= _
"Z:\test\" & _
"blanco faktuur" & ".xls"

.. ook zo..

Code:
ActiveWorkbook.SaveAs FileName:= "Z:\test\blanco faktuur.xls"

..opschrijven.

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Wring deze regel ertussen net voor het opslaan:

Code:
application.DisplayAlerts=False

en na het opslaan:

Code:
application.DisplayAlerts=True

Wie weet werkt dit.

Cobbe
 
Roncancia: bedankt voor de opmerking

Cobbe: deze oplossing werkt (toppie):thumb:

snb: ik twijfel er (echt) niet aan dat deze oplossing ook werkt, maar ik krijg hem niet werkend. (ga dit binnenkort toch nog eens proberen).

Ik ga nu voor de oplossing van Cobbe.

Allemaal weer hartelijke bedankt voor de hulp :thumb:
 
celverwijzing VBA

van onderstaande code zou ik graag:

"H:\My Documents\2009\9621\fakturering\"

wijzigen door dezelfde tekst die in cel a69 van het invulblad staat.

hoe dient de code dan te worden?

Code:
ActiveWorkbook.SaveAs FileName:= _
"H:\My Documents\2009\9621\fakturering\" & _
Sheets("invulblad").Range("c11") & "-" & _
Format(Sheets("invulblad").Range("b11"), "000") & " " & Sheets("invulblad").Range("b50") & ".xls"
 
Begrijp je dan wel wat:

Code:
Sheets("invulblad").Range("b50")

staat te doen op de laatste regel?

Gebruik overigens With ... End With om Sheets("invulblad") te kunnen afzonderen. Bespaart code en aanpaswerk later.
 
Laatst bewerkt:
Beste Wigi,

nu ik je reactie lees, denk ik dat ik toch echt aan pauze toe was.

ik had dit geprobeerd (met cel A 69), maar naderhand had ik de cel verwijderd.

dan wordt ie uiteraard ook niet gevonden.

Bedankt dat je meedenkt.

Code:
Gebruik overigens With ... End With om Sheets("invulblad") te kunnen afzonderen. Bespaart code en aanpaswerk later.  
Vandaag 12:47

Hoe (waar) kan ik deze het beste plaatsen?
 
Code:
Gebruik overigens With ... End With om Sheets("invulblad") te kunnen afzonderen. Bespaart code en aanpaswerk later.  
Vandaag 12:47

Hoe (waar) kan ik deze het beste plaatsen?

De With ... komt boven de code, de End With ... komt onder de code te staan.
 
Beste Oeldere, omdat een reactie van jou uitblijft een duwtje in de goede richting, alhoewel ik van een Senior Member met bijna 500 posts wel iets meer verwacht had:confused:
Code:
With Sheets("Invulblad")
    ActiveWorkbook.SaveAs Filename:=.[A69] & .[C11] & "-" & Format(.[B11], "000") & " " & .[B50] & ".xls"
End With
 
Beste Oeldere, omdat een reactie van jou uitblijft een duwtje in de goede richting, alhoewel ik van een Senior Member met bijna 500 posts wel iets meer verwacht had:confused:]

gelukkig plaatst je voettekst deze opmerking in een positief daglicht :p

P.s. Rudi het is uiteraard geen dom antwoord.

ik ben pas met VBA begonnen en leer ook nu weer iedere dag (ook door vragen te stellen).

Rudi, bedankt voor het zetje. dit was net de zet ik nodig had.
 
Laatst bewerkt:
En als je nog minder wil typen:

Code:
With Sheets("Invulblad")
    .Parent.SaveAs .[A69] & .[C11] & "-" & Format(.[B11], "000") & " " & .[B50] & ".xls"
End With
 
allemaal bedankt voor het meedenken.;)

ik had deze vraag nog openstaan.

bij deze wordt deze nu afgesloten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan