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

Macro; hoe verwijzen naar map

Status
Niet open voor verdere reacties.

hummus

Gebruiker
Lid geworden
16 jun 2015
Berichten
50
Beste Allemaal,

Ik wil graag bij het automatisch opslaan via een macro verwijzen naar een map welke geselecteerd dient te worden vanuit een cel "sn(i , 4)". In de onderstaande marco lukt de naamverwijzing wel maar een verwijzing naar een bepaalde map geeft problemen.

Dit is wat is nu heb:

[JS]
With Blad1
sn = .Cells(5, 16).CurrentRegion
.Copy
ActiveWorkbook.Sheets(1).UsedRange.Value = sn
ActiveWorkbook.SaveAs "\\C:\test\" & sn(i, 1) & "" & sn(i, 2), 51
End With
End Sub[/JS]

En dit wil ik graag maar het lukt niet:

[JS]
With Blad1
sn = .Cells(5, 16).CurrentRegion
.Copy
ActiveWorkbook.Sheets(1).UsedRange.Value = sn
ActiveWorkbook.SaveAs "\\C:\test\sn(i, 4)\" & sn(i, 1) & "" & sn(i, 2), 51
End With
End Sub[/JS]

Bedankt,
Hummus44
 
Haal die dubbele backslashes voor de driveletter weg.
Dus C:\ in plaats van \\C:\

Zorg er ook voor dat er in de cellen die je gebruikt voor pad- en/of bestandsnamen geen tekens staan die er niet voor gebruikt mogen worden.
 
Laatst bewerkt:
Je gebruikt in ieder geval een variabele, i, die nergens een waarde krijgt.
 
Leg even uit wat de bedoeling is. Van de macro klopt niet veel.
 
uhm ja mijn macro klopt inderdaad niet helemaal. Zie bijgaand de juiste versie.

Wat de macro doet is dat hij automatisch alle nummers 1 t/m 9 afgaat waardoor er andere namen komen te staan dmv formules. Deze werkbladen worden allemaal afzonderlijk automatisch opgeslagen. So far so good. Wat ik nu nog wil is dat ik elk bestand in een andere folder wil zetten op de c-schijf. In kolom R staat de "naam" van folder waar het bestand opgeslagen dient te worden.

Is dit mogelijk?

Thanks,
Hummus
 

Bijlagen

Waarschijnlijk zoiets

Code:
Sub VenA()
  Application.ScreenUpdating = False
  c00 = "E:\temp\"
  With Blad1
    ar = .Cells(5, 16).CurrentRegion
    For j = 2 To UBound(ar)
      .Cells(5, 3).Value = ar(j, 1)
      .Copy
      With ActiveWorkbook
        .Sheets(1).UsedRange = .Sheets(1).UsedRange.Value
        If Dir(c00 & ar(j, 3), 16) = "" Then MkDir c00 & ar(j, 3)
        .SaveAs c00 & ar(j, 3) & "\" & ar(j, 2) & ".xlsx", 51
        .Close 0
      End With
    Next j
  End With
End Sub
 
Beste VenA

Bedankt voor je bericht maar ik krijg hem niet aan de praat.

Het volgende heb ik nu in mijn macro:

PHP:
Application.ScreenUpdating = False
c00 = "C:\test\"
With Blad1
sn = .Cells(5, 16).CurrentRegion
        For i = 1 To UBound(sn)
         .Range("C5") = sn(i, 1)
   .Copy
           With ActiveWorkbook
    .Sheets(1).UsedRange = .Sheets(1).UsedRange.Value
     If Dir(c00 & sn(i, 3), 16) = "" Then MkDir c00 & sn(i, 3)
    .SaveAs c00 & sn(i, 3) & "\" & sn(i, 1) & "" & sn(i, 2), 51
    .Close
End With
Next
End With
End Sub

Ik heb je folders aangemaakt op mijn C-schijf onder test.

Foutmelding is code: runtime error '1004'. hij geeft aan dat de folder niet bestaat of dat, het niet read only is, geen vreemde tekens en of niet meer dat 218 tekens.

dit is allen niet het geval.

Iemand een idee?

Thanks,
Hummus
 
Code:
For j = [COLOR="#FF0000"]2[/COLOR] To UBound(sn)
 
Laatst bewerkt:
Code van VenA werkt bij mij perfect.
Code:
.SaveAs c00 & sn(i, 3) & "\" & sn(i, 1) & "" & sn(i, 2), 51     ' jouw code
[COLOR="#FF0000"].SaveAs c00 & ar(j, 3) & "\" & ar(j, 2) & ".xlsx", 51 [/COLOR]             'code VenA
 
Niet in het bestand van #6.

Daar is sn(i,1) en sn(i,2) leeg.
 
Vandaar ook
Code:
For j = [COLOR="#FF0000"]2[/COLOR] To UBound(ar)
 
Half gebakken overgenomen dus.
 
Dit lijkt me wel nog aan te bevelen.
Code:
Application.DisplayAlerts = False
 
Allen,

Thanks voor de input het werkt!

helaas klopt t wat HSV had geschreven, halfbakken overgenomen. Zal beter opletten de volgende keer.

Hummus
 
Selecteer in het bestand in #3 P5 en druk op <CTRL> + a doe hetzelfde met het bestandje in #6.

Je zal dan zien wat .Cells(5, 16).CurrentRegion doet. Gebruik bij voorkeur altijd kolomkoppen of nog beter tabellen (listobjects).
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan