Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: xlsm exporteren naar .xlsx met VBA  (gelezen 4787 keer)

0 leden en 1 gast bekijken dit topic.

Offline jvandervliet

  • Nieuw lid
  • Berichten: 9
  • Oplossing.be
xlsm exporteren naar .xlsx met VBA
« Gepost op: 06 juni 2020, 10:51:10 »
Hallo,

In een excelbestand wil ik een werkblad exporteren naar een nieuw exelbestand. Het originele werkblad is factuur.xlsm. Als ik op een knop 'Opslaan' klik, dan moet het geëxporteerd worden naar bedrijfsnaam.xlsx.

het excelbestand waar vanuit geëxporteerd wordt, moet open blijven staan, en bedrijfsnaam.xlsx moet niet geopend worden.

bedrijfsnaam haal ik uit cel H2.





Offline Ex-lid

  • Oplosser
  • ****
  • Berichten: 670
  • Geslacht: Man
  • dit lid is verbannen
Re: xlsm exporteren naar .xlsx met VBA
« Reactie #1 Gepost op: 06 juni 2020, 11:08:01 »
Sub Dotch()
Application.ScreenUpdating = False
Set dlgSaveFolder = Application.FileDialog(msoFileDialogFolderPicker)
With dlgSaveFolder
.Title = "Selecteer een Folder"
.AllowMultiSelect = False
If .Show <> -1 Then GoTo CancelFolderSelection
sFolderPathForSave = .SelectedItems(1)
End With
Set dlgSaveFolder = Nothing
ActiveWorkbook.SaveCopyAs Filename:=sFolderPathForSave & "\ " & Range("H2").Value & ".xlsx"
CancelFolderSelection:
Application.ScreenUpdating = True
End Sub

Offline jvandervliet

  • Nieuw lid
  • Berichten: 9
  • Oplossing.be
Re: xlsm exporteren naar .xlsx met VBA
« Reactie #2 Gepost op: 06 juni 2020, 11:34:14 »
Dank voor je code. Alleen krijg achter elkaar foutmeldingen.

Ondertussen heb ik deze code gevonden.

Die voldoet bijna.

Sub Opslaan()

    Dim myPath As String
    myPath = Application.ActiveWorkbook.Path
    Worksheets(Array("Factuur")).Copy
    ActiveWorkbook.SaveAs FileName:=Range("H2") & ".xlsx"
End Sub

Hij laat de originele bestand open staan en opent de nieuw opgeslagen bestand. Dat vind ik op zich ook prima.
Alleen wil ik nog aangeven dat het om Factuur de cellen A1:F43 gaat.

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.183
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: xlsm exporteren naar .xlsx met VBA
« Reactie #3 Gepost op: 06 juni 2020, 12:09:55 »
Hallo jvandervliet,

Welkom op Oplossing.be  :)

De code van Dotchiejack werkt hier prima, zonder foutmeldingen. Kan je de aard van de foutmeldingen opgeven?

Er zit een tegenstrijdigheid in je originele vraag:


In een Excel bestand wil ik een werkblad exporteren naar een nieuw Exel bestand.
Het originele werkblad is factuur.xlsm.

Een werkblad kan "factuur.xlsm" heten, maar dat is niet wat je bedoeld hiermee, of ....

Wat je waarschijnlijk wilt: Dat de macro enkel de Range "A1:F43" van je werkblad "Factuur" (van je werkboek "Factuur.xlsm" ??) exporteert naar Werkblad "Factuur" " in het nieuwe werkboek [Klantnaam in H2].xlsx

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline jvandervliet

  • Nieuw lid
  • Berichten: 9
  • Oplossing.be
Re: xlsm exporteren naar .xlsx met VBA
« Reactie #4 Gepost op: 06 juni 2020, 12:57:16 »
@SoftAid,

Citaat
Wat je waarschijnlijk wilt: Dat de macro enkel de Range "A1:F43" van je werkblad "Factuur" (van je werkboek "Factuur.xlsm" ??) exporteert naar Werkblad "Factuur" " in het nieuwe werkboek [Klantnaam in H2].xlsx

Dit is precies wat ik wil.

Offline Ex-lid

  • Oplosser
  • ****
  • Berichten: 670
  • Geslacht: Man
  • dit lid is verbannen
Re: xlsm exporteren naar .xlsx met VBA
« Reactie #5 Gepost op: 06 juni 2020, 13:04:05 »
Citaat
Alleen krijg achter elkaar foutmeldingen.
Hiermee kunnen de helpers natuurlijk niets aanvangen als je er niet bij verteld welke foutmeldingen het zijn. ;)
2de poging
Sub Dotch1()
Application.ScreenUpdating = False
    Set WkSht_bron = ActiveSheet
        Set Rng = WkSht_bron.Range("A1:F43")
            Set WkSht_best = Application.Workbooks.Add
                Set WkSht_best = WkSht_best.Worksheets(1)
                    Rng.Copy WkSht_best.Range("A1")
                Set WkSht_best = Nothing
                WkSht_best.SaveAs Filename:=ThisWorkbook.Path & "\ " & WkSht_bron.Range("H2") & ".xlsx"
                WkSht_best.Close 0
            Set WkSht_best = Nothing
        Set Rng = Nothing
    Set WkSht_bron = Nothing
Application.ScreenUpdating = True
End Sub
Waarom sla je de facturen niet op als PDF?

Offline jvandervliet

  • Nieuw lid
  • Berichten: 9
  • Oplossing.be
Re: xlsm exporteren naar .xlsx met VBA
« Reactie #6 Gepost op: 06 juni 2020, 13:11:45 »
Fout: 91 tijdens runtime:

Objectvariable of blok Withvariable is niet ingesteld.


WkSht_best.SaveAs FileName:=ThisWorkbook.Path & "\ " & WkSht_bron.Range("H2") & ".xlsx"

Offline Ex-lid

  • Oplosser
  • ****
  • Berichten: 670
  • Geslacht: Man
  • dit lid is verbannen
Re: xlsm exporteren naar .xlsx met VBA
« Reactie #7 Gepost op: 06 juni 2020, 13:56:10 »
Mijn fout typo, komt door mijn 16 vingers ;D
Probeer deze eens
Sub dotch()
Application.ScreenUpdating = False
Set WkSht_bron = ActiveSheet
        Set Rng = WkSht_bron.Range("A1:F43")
            Set WkBk_best = Application.Workbooks.Add
                Set WkSht_best = WkBk_best.Worksheets(1)
                    Rng.Copy WkSht_best.Range("A1")
                Set WkSht_best = Nothing
                WkBk_best.SaveAs Filename:=ThisWorkbook.Path & "\ " & WkSht_bron.Range("H2") & ".xlsx"
                WkBk_best.Close 0
            Set WkBk_best = Nothing
        Set Rng = Nothing
    Set WkSht_bron = Nothing
Application.ScreenUpdating = True
End Sub

Offline jvandervliet

  • Nieuw lid
  • Berichten: 9
  • Oplossing.be
Re: xlsm exporteren naar .xlsx met VBA
« Reactie #8 Gepost op: 06 juni 2020, 14:26:40 »
Doet het bijna perfect, alleen de breedte van de cellen worden niet meegenomen.

Offline Ex-lid

  • Oplosser
  • ****
  • Berichten: 670
  • Geslacht: Man
  • dit lid is verbannen
Re: xlsm exporteren naar .xlsx met VBA
« Reactie #9 Gepost op: 06 juni 2020, 15:49:47 »
Citaat
alleen de breedte van de cellen worden niet meegenomen
Je vraagt, wij draaien.
Sub dotch()
Application.ScreenUpdating = False
Set WkSht_bron = ActiveSheet
        Set Rng = WkSht_bron.Range("A1:F43")
            Rng.Copy
            Set WkBk_best = Application.Workbooks.Add
                Set WkSht_best = WkBk_best.Worksheets(1)
                With WkSht_best.Range("A1")
                    .PasteSpecial xlPasteValues
                    .PasteSpecial xlPasteColumnWidths
                    .PasteSpecial xlPasteFormats
                End With
                WkBk_best.SaveAs Filename:=ThisWorkbook.Path & "\ " & WkSht_bron.Range("H2") & ".xlsx"
                WkBk_best.Close 0
            Set WkBk_best = Nothing
        Set Rng = Nothing
    Set WkSht_bron = Nothing
Application.ScreenUpdating = True
End Sub

Offline jvandervliet

  • Nieuw lid
  • Berichten: 9
  • Oplossing.be
Re: xlsm exporteren naar .xlsx met VBA
« Reactie #10 Gepost op: 06 juni 2020, 16:06:18 »
In ieder geval hartelijk dank! We zijn er bijna. de afbeelding wordt niet meegenomen. Deed het hiervoor wel.

Offline Ex-lid

  • Oplosser
  • ****
  • Berichten: 670
  • Geslacht: Man
  • dit lid is verbannen
Re: xlsm exporteren naar .xlsx met VBA
« Reactie #11 Gepost op: 06 juni 2020, 17:01:34 »
Post eens een voorbeeldje, zo schiet dat niet op en waarom sla je de facturen niet op als PDF?
Niet iedereen heeft excel, maar iedereen kan een gratis PDF reader downloaden.

Offline jvandervliet

  • Nieuw lid
  • Berichten: 9
  • Oplossing.be
Re: xlsm exporteren naar .xlsx met VBA
« Reactie #12 Gepost op: 06 juni 2020, 18:00:43 »
Het wordt ook opgeslagen als PDF als we het per mail versturen.

We willen het ook in .xlsx bestand hebben zodat we later nog wat kunnen wijzigen als dat nodig is.


Offline jvandervliet

  • Nieuw lid
  • Berichten: 9
  • Oplossing.be
Re: xlsm exporteren naar .xlsx met VBA
« Reactie #13 Gepost op: 06 juni 2020, 18:06:34 »
Hier het Excelbestand.

Offline Digicafé

  • Volledig lid
  • **
  • Berichten: 234
  • Geslacht: Man
Re: xlsm exporteren naar .xlsx met VBA
« Reactie #14 Gepost op: 06 juni 2020, 18:56:09 »
Dubbelpost en op het andere forum na 28 berichten en 5x aandringen om een oplossing te proberen géén verdere reaktie meer.
Zal hier dus niet anders zijn...

 


www.combell.com