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

wegschrijven zonder formules

Status
Niet open voor verdere reacties.

stefano

Gebruiker
Lid geworden
22 mei 2004
Berichten
865
Mijn bestand heeft 5 tabbladen

op tabblad A wordt info ingevuld.

op tabblad vv wordt die info met formules over genomen.

Bedoeling is nu om tabblad "vv" over te zetten naar een nieuw bestand, maar wel zodanig dat

1. de formules omgezet worden in tekst
2. het origineel bestand wordt afgesloten zonder het op te slaan

kan dit ?
 
Laatst bewerkt:
Stefano,

Dat kan.

Kopiëren zonder formules doe je door te kopiëren en plakken speciaal - waarden.

Als je een macroreorder laat meelopen kun je alle acties automatiseren.
 
Jaja, tuurlijk kan dat , ik was zo slim het bestand niet bij te sluiten alsook de code

:confused::confused::confused:

hierbij de code :

Code:
Sub test()
    Sheets("VV").Select
    Sheets("VV").Copy
    Cells.Select
    Selection.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A1").Select
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Documents and Settings\Stefaan Admin\Mijn documenten\excel\test2.xls", _
        FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWindow.Close

    Windows("test.xls").Activate
    ActiveWorkbook.Close

End Sub

1. Ik wil deze code aan een knop vastmaken, kan dit gewoon door de sub te vervangen door private sub ?

2. Bij sluiten van test2.xls volgt de vraag of ik het bestaande bestand wil overschrijven ? Die vraag zou ik willen vermijden. Dus gewoon overschrijven zonder vraag

3. Bij afsluiten van test.xls wordt gevraagd om aanpassingen op te slaan. Idem hier, Geen vraag, gewoon afsluiten ...

Sorry, Stefaan
 

Bijlagen

stefano, ff zo uit de losse pols en zonder je bestanden te hebben bekeken, zou dit 't wel 'ns kunnen zijn... (niet getest!)
Code:
Sub test()
    Sheets("VV").Select
    Sheets("VV").Copy
    Cells.Select
    Selection.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A1").Select
    Application.CutCopyMode = False
    Application.DisplayAlerts = False
     ActiveWorkbook.SaveAs Filename:= _
        "C:\Documents and Settings\Stefaan Admin\Mijn documenten\excel\test2.xls", _
        FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWindow.Close
     Application.DisplayAlerts = True

    Windows("test.xls").Activate
    ActiveWorkbook.Close SaveChanges:=False
 
End Sub

Je geeft dat nieuwe werkbook met deze code wel iedere keer dezelfde naam.... Is dat wel je bedoeling?

Groet, Leo
 
Neen, het is niet de bedoeling om dit onder zelfde naam weg te schrijven . Onderstaande code zou daar in moeten geschreven worden :cool:

Code:
    Dim bestandsnaam As String
    Dim pad As String
    bestandsnaam = Range("u1").Value & Format$(Range("u6"), "yyyymmdd ") & Format$(Now, "hhmm") & ".xls"
    pad = Range("u8").Value
    ThisWorkbook.SaveCopyAs Filename:=pad & bestandsnaam

:rolleyes: en dan herhaal ik ook nog een vorige vraag :rolleyes: : Kan ik ipv de sub test zomaar private sub test schrijven ? ( Ik wil de code activeren met gebruik van een klik op een knop :( )

dank alvast !!!
 
Waarom niet

ThisWorkbook.SaveCopyAs [U8] & [U1] &format([U6],"yyyymmdd") & format(now,"hhmm") & ".xls"

Vermijd in VBA select, Activate, activecell, activesheet, activeworkbook, selection
Sub test()
Sheets("VV").Cells.value=Sheets("VV").Cells.value
ThisWorkbook.SaveCopyAs [U8] & [U1] &format([U6],"yyyymmdd") & format(now,"hhmm") & ".xls"
Workbooks("test.xls").Close false​
End Sub
 
Laatst bewerkt:
en dan herhaal ik ook nog een vorige vraag :rolleyes: : Kan ik ipv de sub test zomaar private sub test schrijven ? ( Ik wil de code activeren met gebruik van een klik op een knop :( )
Nee hoor! Lekker je sub laten zoals die is. Vervolgens in je sheet klik op je op de buuton van de werkset formulieren en kiest daar voor de knop. Op het moment dat je 'm op je sheet plaatst wordt het venster van de aanwezige macro's getoond. Daaruit kan je de juiste kiezen.

Die aanpassing van de naam lukt je dus zelf wel?

Groet, Leo
 
Aanpassing van de naam lukt je zelf wel

Aanpassing van de naam ... dacht dat het me zou lukken ja ... :(

Code:
Sub test()
    Sheets("VV").Select
    Sheets("VV").Copy
    Cells.Select
    Selection.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A1").Select
    Application.CutCopyMode = False
    Application.DisplayAlerts = False
    
    
    
    
    Dim bestandsnaam As String
    Dim pad As String
    bestandsnaam = Range("u1").Value & Format$(Range("u6"), "yyyymmdd ") & Format$(Now, "hhmm") & ".xls"
    pad = Range("u8").Value

     [COLOR="Red"]ActiveWorkbook.SaveAs Filename:= _
        "pad & bestandsnaam, _
        FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False[/COLOR]    ActiveWindow.Close
     Application.DisplayAlerts = True
 
    Windows("post loading v2.32.xls").Activate
    ActiveWorkbook.Close SaveChanges:=False
 
End Sub

Neen,dit lukt me dus niet...
 
Zie Post #6 van snb. Wat lukt er niet ?

Mvg

Rudi
 
Systeem loopt hier gewoon vast op die code :( . Ik heb de vaste naam test2.xls aangepast en die aanpassing zal dus welniet correct zijn ...
 
Laatst bewerkt:
stefano, ff zo uit de losse pols en zonder je bestanden te hebben bekeken, zou dit 't wel 'ns kunnen zijn... (niet getest!)

Code:

Sub test()
Sheets("VV").Select
Sheets("VV").Copy
Cells.Select
Selection.Copy
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\Stefaan Admin\Mijn documenten\excel\test2.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
Application.DisplayAlerts = True

Windows("test.xls").Activate
ActiveWorkbook.Close SaveChanges:=False

End Sub

Je geeft dat nieuwe werkbook met deze code wel iedere keer dezelfde naam.... Is dat wel je bedoeling? Neen , dat is niet mijn bedoeling. Ik zou dat graag weggeschreven zien worden als

pad : tabblad 'info' cel 'U8'
naam : tabblad 'info' cel 'U1' gevolgd door de datum in formaat yyyymmdd en het uur in formaat hhmm ( voorbeeld : stefano 20090401 1635 )
 
Rudi,

Dank voor de hulp ( ik zal wel bloem analyseren ondertussen :) ), maar :

a. het bestand wegschrijven kost 1 min 35 sec ! Dat is wel zeeeeeer veel voor zo weinig gegevens. Wat zou hier de oorzaak kunnen zijn ? Kan dat niet sneller ?

b. hij schrijft beide tabbladen weg naar een nieuw bestand en niet het tabblad VV alleen :confused:

groet,

Stefaan

PS : ik moet mijn pc nu heropstarten want het ding wordt ontzettend traag nadat ik de macro uitgevoerd heb
 
Aangezien je Cells gebruikt in je macro zet hij elke cel in het actieve werkblad om (en dat zijn er veeeeeel).
Pas in bijlage de bereiken aan naar wens (Hoe kleiner, hoe sneller)

Mvg

Rudi
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan