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

opslaan als met een werkblad

Status
Niet open voor verdere reacties.

metaalboer

Gebruiker
Lid geworden
7 nov 2012
Berichten
9
Private Sub CommandButton2_Click()

Dim MyName
MyName = Range("b25").Value & "" & Range("b25").Value
ChDir "C:\Documents and Settings\HP_Administrator\Mijn documenten\Exel"
ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & Range("B25") & ".xls"
End Sub

ik heb deze berekening nu werkend maar als ik bvb kees op sla gebeurd dat onder de naam exelkees kan ik de text exel er af halen ? daarbij slaat hij hem niet op in de laatste map exel maar in mijn documenten warschijnlijk mis ik op het einde een tekendje maar ik weet t niet

is het mogelijk om hem op te slaan onder de inhoud van sel B13 naam en cel B25 merk achter elkaar, dat het word opgeslagen onder bvb naammerk.

en momenteel heb ik 3 werkbladen nu slaat hij ze ook alle 3 op en nou wilde ik eigelijk alleen werkblad1 opslaan en dat zonder werkende forules om het zo klein mogelijk te houden.

alvast bedankt :thumb:
 
Laatst bewerkt:
Ik zou je vragen duidelijker nummeren dan is het wat makkelijker voor mensen om te reageren op de verschillende dingen ;) In je voorbeeld zit een conflict. Dat is de reden dat je een verkeerde naam krijgt:

activeworkbook.path heeft als inhoud: "....00 Sande Caravans\onderhoudsbeurt\exel". Je plakt daar b25 (kees) achter:

....00 Sande Caravans\onderhoudsbeurt\exelkees

de file wordt dus opgeslagen in de directory onderhoudsbeurt met de naam excelkees, ipv in \onderhoudsbeurt\excel\kees.
Code:
ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\" & Range("B13") & Range("B25") & ".xls"
 
dat probleem is opgelost

nu het laatste probleem ;) momenteel heb ik 3 werkbladen nu slaat hij ze ook alle 3 op en nou wilde ik eigelijk alleen werkblad1 opslaan en dat zonder werkende forules zoals klantenbestand en opslaan als button om het zo klein mogelijk te houden kwa opslag geheugen

alvast bedankt voor de snelle reactie
 
Het is afhankelijk van hoe je wil exporteren. als je een knop gebruikt kun je zoiets doen:

Code:
Sub bladopslaan()
     Sheets(1).Copy
     Activesheet.Cells = ActiveSheet.Cells.Value 'deze regel kun je beter vervangen met de echte range anders kan deze regel een minuut duren
     ActiveWorkbook.saveas ("test.xls") 'vervangen met bovenstaande code, maar nu saveas niet savecopyas
     ActiveWorkbook.Close
End Sub

zoals je ziet nog wel een paar kleine aanpassingen nodig. Vooral de regel om de formules te vervangen kan echt lang duren (of zelfs crashen), beter is om de echte range te gebruiken, bijvoorbeeld:

Activesheet.Range("a1:x80") = Activesheet.Range("a1:x80").Value

Dit aanpassen aan de range cellen waarin je echt werkt
 
ik ben nog maar een paar weken hiermee bezig dus ik moet nog veel leren ;)
maar welk teken moet ik nu mee eindigen om hem werkelijk in de goede map te krijgen ?
de rest van jou formule werk wel.

en vraag 3 krijg ik tot nu toe nog niet toe gevoegd

activeworkbook.path heeft als inhoud: "....00 Sande Caravans\onderhoudsbeurt\exel". Je plakt daar b25 (kees) achter:

....00 Sande Caravans\onderhoudsbeurt\exelkees

de file wordt dus opgeslagen in de directory onderhoudsbeurt met de naam excelkees, ipv in \onderhoudsbeurt\excel\kees.
Code:
ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\" & Range("B13") & Range("B25") & ".xls"
 
Kun je nog eens samenvatten wat je nu hebt als code en wat er niet werkt? Dan kan ik wat gerichter kijken en eventueel ook andere mensen nog wat bijdragen.
 
Code:
Private Sub CommandButton2_Click()
    Sheets("GroteBeurt").Copy
    With ActiveWorkbook
        With .Sheets("GroteBeurt")
            .UsedRange.Value = .UsedRange.Value
            .OLEObjects("CommandButton1").Delete
            .OLEObjects("CommandButton2").Delete
            Application.DisplayAlerts = False
            With Application.VBE.ActiveVBProject.VBComponents.Item("Blad1").CodeModule
                .DeleteLines 1, .CountOfLines
            End With
            Application.DisplayAlerts = True
            .SaveAs "C:\Documents and Settings\HP_Administrator\Mijn documenten\Exel" & "\" & .Range("B13") & .Range("B25") & ".xls"
        End With
    End With
End Sub
 
ik krijg steeds deze fout melding:
.Cells(lRij, i + 1).Value = IIf(IsDate(Me("TextBox" & i).Value), _
Format(Me("TextBox" & i).Value, "mm/dd/yyyy"), Me("TextBox" & i).Value)


als ik het telefoon nr vast of mobiel wil wijzigen zet ik achter het telefoon nr een ' dan geeft hij geen fout melding iemand een idee wat het probleem is ???




Private Sub CommandButton2_Click()
Dim lRij As Long
If MsgBox("Weet je zeker dat je de wijzigingen wilt opslaan?", _
vbExclamation + vbYesNo, "Wijzigingen opslaan?") = vbYes Then
If Not NR Is Nothing Then lRij = NR.Row
With Sheets("Klanten")
.Range("B" & lRij).Value = ComboBox1.Value
For i = 2 To 15
.Cells(lRij, i + 1).Value = IIf(IsDate(Me("TextBox" & i).Value), _
Format(Me("TextBox" & i).Value, "mm/dd/yyyy"), Me("TextBox" & i).Value)
Next
sq = .Range("B2:B" & .Cells(Rows.Count, 2).End(xlUp).Row)
ComboBox1.List = sq
End With
End If
SortNames
NewNumber
Unload Me
End Sub
 
Nieuwe vraag hoort niet thuis in je oude vraag. Bovendien stamt deze vraag uit 2012
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan