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

Hoe een blad te exporteren naar 2 bestanden

Status
Niet open voor verdere reacties.

Tegno

Gebruiker
Lid geworden
7 jul 2022
Berichten
58
HSV heeft mij eerder geholpen met het exporteren

deze code werkt perfect en gebruik ik nu.
Code:
[COLOR=#333333]CreateObject("shell.application").Namespace("V:\MKG-OFFERTES\").NewFolder Range("A2")
[/COLOR][COLOR=#333333] ThisWorkbook.SaveCopyAs Range("R2") & Range("Q2") & ".xlsm"[/COLOR]
Dit is onze DATA Backup welke later hergebruikt kan worden.

Nu gebruik ik een extern bedrijf voor een ERP import en zij vragen 1 blad met naam MKG_SD_IMP
te exporteren naar een:

bestand met de naam uit cel "A1".XLSX (Excel Werkmap) Alleen blad "MKG_SD_IMP"
+
bestand met de naam uit cel"B1".CSV (gescheiden door lijstscheidingstekens) Alleen blad "Leverancier"
Beide gaan naar een afzonderlijk map gedefineerd in een Cel. (afwijkende map)

nu ben ik zelf aan het spelen geweest met de code van HSV
Code:
[COLOR=#333333]CreateObject("shell.application").Namespace("V:\MKG-OFFERTES\").NewFolder Range("A2")
[/COLOR][COLOR=#333333] ThisWorkbook.SaveCopyAs Range("R2") & Range("Q2") & ".xlsm"
[/COLOR][COLOR=#333333]CreateObject("shell.application").Namespace("V:\MKG-IMPORT\").NewFolder Range("A3")
[/COLOR][COLOR=#333333] ThisWorkbook.SaveCopyAs Range("R3") & Range("Q3") & ".xlsx"[/COLOR]
Echter is dan het .xlsx bestand dan niet te lezen. (en export van alle bladen)
 

Bijlagen

Bv.
Code:
Sub hsv()
Dim s0 As String, c As Range
s0 = [COLOR=#333333]"V:\MKG-OFFERTES\"[/COLOR]
Set c = ThisWorkbook.Sheets("calculatie").Range("a1")
  Sheets("MKG_SD_IMP").Copy
     With ActiveWorkbook
       .SaveAs s0 & c, 51
       .Close
     End With
  Sheets("leverancier").Copy
     With ActiveWorkbook
      .SaveAs s0 & c.Offset(, 1), 6, , , , , , , , , , -1
      .Close
     End With
End Sub
 
beste HSV

deze code genereerd helaas een bestand zonder extentie in het eerste deel (zo een xlsx bestand moeten worden)
Code:
[COLOR=#333333]Sub hsv()[/COLOR]Dim s0 As String, c As Range
s0 = [COLOR=#333333]"V:\MKG-OFFERTES\"[/COLOR]
Set c = ThisWorkbook.Sheets("calculatie").Range("a1")
  Sheets("MKG_SD_IMP").Copy
     With ActiveWorkbook
       .SaveAs s0 & c, 51
       .Close [COLOR=#333333]     End With[/COLOR]
in het 2de deel geeft hij een foutmelding op de .saveAs regel
Fout 1004 tijdens uitvoering

Methode SaveAs van object_workbook is mislukt
zou een .csv bestand moeten worden
Code:
[COLOR=#333333]  Sheets("leverancier").Copy[/COLOR]     
      With ActiveWorkbook
      .SaveAs s0 & c.Offset(, 1), 6, , , , , , , , , , -1
      .Close
     End With [COLOR=#333333]End Sub[/COLOR]

komt denk ik omdat hij de eerst sheet hierboven opslaat en opent dan is dat de activeworkbook??? kan dat kloppen?
 
Laatst bewerkt:
Toevallig een Mac?
Code werkt perfect hier.
 
Hier Windows 11 en 365, maar nogmaals, werkt perfect.
 
De nieuw aangemaakte bestanden sluit ik weer met .Close in de code.
 
Wellicht ?
Code:
Sub M_snb()
  sn=ThisWorkbook.Sheets("calculatie").Range("A1:B1")
  c00 = [COLOR=#333333]"V:\MKG-OFFERTES\"[/COLOR]

  Sheets("MKG_SD_IMP").Copy
  With ActiveWorkbook
    .SaveAs c00 & sn(1,1), 51
    .Close 0
  End With

  Sheets("leverancier").Copy
  With ActiveWorkbook
    .SaveAs c00 & sn(1,2),23
    .Close 0
  End With
End Sub
 
Code:
[COLOR=#3E3E3E]Sub M_snb()[/COLOR]  sn=ThisWorkbook.Sheets("calculatie").Range("A1:B1")
  c00 = [COLOR=#333333]"V:\MKG-OFFERTES\"[/COLOR]

  Sheets("MKG_SD_IMP").Copy
  With ActiveWorkbook
    .SaveAs c00 & sn(1,1), 51
    .Close 0
  End With
End Sub


Hij kopieert de sheet MKG_SD_IMP er goed uit allen wil hij hem niet opslaan.
hij geeft een foutmelding op regel ".SaveAs c00 & sn(1,1), 51"

ik gebruik Windows 10 met Exel 365
 
Wat staat er in cel A1 van werkblad 'calculatie' ?
 
Ben ook zelf aan het puzzelen.
En kom hierbij.

Code:
Sub M_snb()
  Sheets("MKG_SD_IMP").Copy
  With ActiveWorkbook
        ActiveWorkbook.SaveAs filename:="V:\MKG-OFFERTES\test4.xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    .Close 0
  End With
End Sub

Deze code werkt wel echter moet de naam "test4.xlsx" uit cel Q2 worden gehaald.

in Q2 word de naam gegenereerd m.b.v. tekst.samenvoegen.
 
Laatst bewerkt:
Gebruik de hulpfunktie in de VBEditor om na te gaan wat 51 betekent.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan