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

range van blad (uit sjabloon) kopieren en opslaan als

  • Onderwerp starter Onderwerp starter bta
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

bta

Gebruiker
Lid geworden
17 dec 2007
Berichten
188
Goedemiddag excellers,
Van bijgaand sjabloon wil ik van het blad "bestellijst" de range A1:F48 laten opslaan op O:\ als .xls met als het kan ook de datum en de usernaam. Daarna wil ik Excel laten afsluiten (met een kleine waarschuwing).
Ik heb lopen zoeken op het forum maar kom er niet uit.
Wellicht heeft een van jullie de oplossing?
Hartelijk dank voor de moeite. Gr. BTA
Bekijk bijlage 74911
 
Beste BTA , net zoals vorige keer staat je bestandje beveiligd op het forum ,ook de xlt ( sjabloon uitvoering ) je moet het opslaan met de verwijzing naar die bepaalde cel ( range ) bv "[K6].Value & " " & [L6].Value & ".xls"" in de macro verwerken en een msgbox met een vbOkNo als controle .
 
Anja, probeer deze eens. De macro start met knop 'bestellijst opslaan'
 

Bijlagen

Hoi Rudi,
Heel hartelijk dank.
Is het ook mogelijk om de layout te bewaren?
Groet, BTA
 
In excel 2007 krijg ik ook de foutmelding maar dan op de regel waar de dir staat voor het opslaan .
 
Laatst bewerkt:
Nu niet meer:

Code:
Sub opslaan()
  Thisworkbook.Sheets("bestellijst").Copy
  With ActiveWorkbook.Sheets(1).UsedRange
    .Value = .Value
    With .Parent
      For Each sh In .Shapes
        If sh.Type = 8 Then sh.Delete
      Next
      .SaveAs "D:\Mijn documenten\" & Format(Date, "dd-mm-yyyy ") & [F2].Value & ".xls"
      .Parent.Close False
    End With
  End With
End Sub
 
snb :thumb: werkt bij mij in 2003 en 2007 zonder probleem , nu nog de testen van TS afwachten ;)
 
Code:
Sub opslaan()
  ThisWorkbook.Sheets("bestellijst").Copy
  With ActiveWorkbook.Sheets(1).UsedRange
    .Value = .Value
    With .Parent
    [COLOR="Red"]Dim sh As Shape[/COLOR]
      For Each sh In .Shapes
        If sh.Type = 8 Then sh.Delete
      Next
      .SaveAs "O:\" & Format(Date, "dd-mm-yyyy ") & [F2].Value & ".xls"
      .Parent.Close False
    End With
  End With
End Sub
 
Verwijder option explicit uit je hele projekt.
Zorg dat het werkblad niet beveiligd is.
Code:
Sub opslaan()
  ThisWorkbook.Sheets("bestellijst").Copy
  With ActiveWorkbook.Sheets(1).UsedRange
    .parent.unprotect "bta"
    .Value = .Value
    With .Parent
      For Each sh In .Shapes
        If sh.Type = 8 Then sh.Delete
      Next
      .SaveAs "O:\" & Format(Date, "dd-mm-yyyy ") & [F2].Value & ".xls"
      .Parent.Close False
    End With
  End With
End Sub
nog een suggestie:

Code:
Sub maken()
  If MsgBox("Heb je alle door jou gewenste artikelen ingevuld?" & vbCrLf & vbCrLf & "Kan de bestellijst worden aangemaakt ?", vbYesNo + vbDefaultButton2, "Bestellijst maken") = vbNo Then Exit Sub
  Sheets("artikelen").Unprotect "bta"
  With Sheets("bestellijst")
    .Unprotect "bta"
    For Each cl In Sheets("artikelen").UsedRange.Columns(1).Offset(2).SpecialCells(2)
      .Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 5) = cl.Resize(, 5).Value
    Next
    .Protect "bta"
  End With
  Sheets("artikelen").Protect "bta"
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan