dan zul je je moeten wagen aan VBA. Je zult alleen eerst een keuze moeten
maken op welk moment het bestand opgeslagen moet worden. Is dat enkel als
beide cellen gevuld zijn? Dit kan met een event macro.
Wil je het bestand opslaan middels een knop "Opslaan"?
En hoe wil je omgaan met bestaande bestandnamen. Wil je die dan
overschrijven?
Je ziet dat de vraag van jou bij mij meer vragen oproept.
De eerste stap die je in ieder geval moet zetten is de stap naar VBA.
Ik zou zeggen neem eens een macro op en bekijk de code. Dan kom je in ieder
geval in de vba editor. Van daaruit kun je verder gaan.
De code voor een macro die aan een knop gekoppeld kan worden is:
Sub Opslaan()
Pad = ActiveWorkbook.Path & "\"
If Range("Blad1!A2") <> "" And Range("Blad1!A4") <> "" Then
Naam = "Blad1!A2" & "Blad1!A4"
ActiveWorkbook.SaveAs Pad & Naam
Else
MsgBox "De naam van het bestand is nog niet compleet!", vbCritical
End If
End Sub
Maurrieske
<arieen...@hotmail.com> schreef in bericht
news:1151515058.4...@y41g2000cwy.googlegroups.com...
Groeten
Arie
Ikke schreef:
Ik wil inderdaad met de knop opslaan het bestand opslaan. Evt. met de
knop opslaan als is ook geen probleem
Wat bedoeld u met de tekst: "De naam van het bestand is nog niet
compleet!", vbCritical
Moet ik daar nog een bepaalde naam in vermelden of is het een
verwijzing naar de formule, of is dit de verwijzing naar het alleen
lezen bestand?
Moet je een formule achter elkaar door typen of zoals u aangeeft in
onderstaande tekst?
Groeten
Arie
Ikke schreef:
Om meer te leren over VBA moet je eerst zelf eens een macro opnemen. Kijk
eens in de help bij macro.
Maurrieske
<arieen...@hotmail.com> schreef in bericht
news:1151521242.6...@i40g2000cwc.googlegroups.com...
Ik heb de formule gezet in VBA. De macro is nu gekoppeld met een knop (
Ctrl n)
Naar aanleiding van uw antwoord concludeer ik dat dit ook mogelijk moet
zijn met de normale opslaan knop ( boven in het bestand) klopt dit?
Het andere wat nog niet goed werkt is dat het bestand niet onder de
code van A1 & A4 wordt opgeslagen maar dat dit als tekst wordt weer
gegeven. (vb. Blad1!A2Blad1!A4 in plaats van 55236 - 125692
Groeten
Arie
Ikke schreef:
Voor het opslaan heb ik nu de volgende formule gebruikt:
ActiveWorkbook.SaveAs Filename:=Sheets("Blad1").Range("B1") & "_" &
Sheets("Blad1").Range("D1") & "_" & Sheets("Blad1").Range("F1")
Deze werkt goed op 1 punt na. Het begin (alleen lezen) bestand staat op
een server (schijf W) Als ik de map in schijf W opent en dan het
bestand opent en bewerkt en deze d.m.v. cntr q opslaat is er niets aan
de hand. Hij schrijft dit bestand netjes naar schijf W en de juiste
map. Ik heb voor het alleen lezen bestand een snelkoppeling gemaakt op
mijn desktop. Wanneer ik deze gebruikt en het bewerkte bestand opslaat
d.m.v. cntr q dan wordt het bestand opgeslagen in mijn documenten
i.p.v. in de map op de W-schijf. Kan ik dit instellen dat het bestand
altijd naar de W-schijf wordt opgeslagen?
Groeten
Arie
arieen...@hotmail.com schreef:
Sub Opslaan()
Pad = ActiveWorkbook.Path & "\"
If Range("Blad1!B1") <> "" And Range("Blad1!D1") <> "" And Range("Blad1!F1")
<> "" Then
Naam = Range("Blad1!B1") & "_" & Range("Blad1!D1") & "_" &
Range("Blad1!F1")
ActiveWorkbook.SaveAs Pad & Naam
Else
MsgBox "De naam van het bestand is nog niet compleet!", vbCritical
End If
End Sub
Maurrieske
<arieen...@hotmail.com> schreef in bericht
news:1151686673.2...@h44g2000cwa.googlegroups.com...
Ik heb onderstaande formule nu ingevoerd:
Sub Opslaan()
Pad = ActiveWorkbook.Path & "\"
If Range("Blad1!B1") <> "" And Range("Blad1!D1") <> "" And
Range("Blad1!F1") <> "" Then
Naam = Range("Bld1!B1") & "_" & Range("Blad1!D1") & "_" &
Range("Blad1!F1")
ActiveWorkbook.SaveAs Pad & Naam
Else
MsgBox "De naam van het bestand is nog niet compleet!", vbCritical
End If
End Sub
Wanneer ik nu opslaat met cntr q dan krijg ik onderstaande melding:
Methode Range van object_Global is mislukt.
Eerder kreeg ik meldingen van: compileerfout Else zonder If. Na
opnieuw de formule er in gezet te hebben is de melding zoals ik
hierboven heb neergeschreven.
Met belangstelling zie ik uw antwoord tegemoet.
Groeten
Arie
Ikke schreef:
Ik ben nog een poosje bezig geweest met de formule. Na diverse pogingen
is het me toch gelukt.
1 schrijffoutje en het werkt dus niet. Bij het copieren was op een
plaats een spatie komen te vervallen tussen And Range. Ook staat er in
de formule 1 foutje bij Naam = Range("Bld1!B1) dit moest zijn
(Blad1!B1)
In ieder geval
Hartelijk bedankt en op naar het volgende probleem
Is er trouwens een lijstje waarin div. formules staan om in VBA te
zetten?