via macro een bestand openen die de naam heeft van een bepaalde cel inhoud

Status
Niet open voor verdere reacties.

buckeru

Gebruiker
Lid geworden
6 jan 2011
Berichten
117
Hoi,

ik wil met een macro een xls bestand openen die in c:\Documents\ staat.
maar het bestand dat ik wil openen is niet iedere keer dezelfde.
Nu haal ik de naam uit cel G2 blad2, echter het werkt niet.
ik heb hier al wat gezocht en gevonden. wie kan mij verder helpen?
Code:
Sub BR_zoeken()
Bestand = "c:\Documents\[COLOR="red"]a[/COLOR].xls"
   On Error GoTo filecheck_Error
Workbooks("[COLOR="red"]a[/COLOR].xls").Activate
   Exit Sub
filecheck_Error:
Workbooks.Open Filename:=Bestand
End Sub

bij deze code opend het bestand a. en dit werkt.
maar nu wil inplaats van "a" de inhoud van cel blad2!G2, daar hebben staan.
 
Wijzig dan Bestand = "c:\Documents\a.xls"
in
Bestand = "C:\Documents\" & Range(blad2!G2).Value & ".xls"
 
Sorry, ik had het even uit m'n hoofd gedaan.
Dit moet het zijn: Bestand = "C:\Documents\" & Range("Blad2!G2").Value & ".xls"
 
Ok edmoor, bedankt.
het werkt, maar is er ook een code, dat als het bestand niet wordt gevonden
dat de vba niet vast loopt. Bv een melding "geen data gevonden " verder met enter?
velden d7 f7 wissen.
 
Code:
If Dir(bestand) = "" Then
    MsgBox ("Bestand niet gevonden: " & bestand)
End If
 
thnx voor de snelle reactie, ik ga nu zelf weer verder. Zat hier op vast. i'm still a rookie
 
helaas ik was iets te snel.
loopt nog vast op

Code:
bestand = "C:\Documents\" & Range("Blad2!G2").Value & ".xls"
      On Error GoTo filecheck_Error
Workbooks("a.xls").Activate

      Exit Sub
       
filecheck_Error:

    If Dir(bestand) = "" Then
    MsgBox ("Bestand niet gevonden: " & bestand)
    
    Range("F7").Select
    Selection.ClearContents
    
    Range("D7").Select
    Selection.ClearContents
    
    End If
    
    [COLOR="red"]Workbooks.Open Filename:=bestand[/COLOR]
    
    
End Sub
als de code goed loopt de macro goed.
maar als de code fout is-> bestand dus niet gevonden loopt het vast.
kan je me nog helpen?
 
Ik zou die code wat anders in elkaar steken maar bij deze de aanpassing voor je.

Code:
bestand = "C:\Documents\" & Range("Blad2!G2").Value & ".xls"
      On Error GoTo filecheck_Error
Workbooks("a.xls").Activate

      Exit Sub
       
filecheck_Error:

    If Dir(bestand) = "" Then
        MsgBox ("Bestand niet gevonden: " & bestand)
        Exit Sub
    End If
    
    Range("F7").Select
    Selection.ClearContents
    
    Range("D7").Select
    Selection.ClearContents
    
    End If
    
    Workbooks.Open Filename:=bestand
    
    
End Sub
 
Laatst bewerkt:
ik krijg nu de melding end if zonder blok if
ik weet niet waar de if moet komen?
 
Er moet geen IF bij, die laatste END IF moet weg.
 
ok, hij loopt niet meer vast. maar als het bestand niet wordt gevonden wist de betreffende cellen niet.
moet ik de range f7 d7 boven de exit sub zetten. zodat deze na de melding "bestand niet gevonden" de cellen wist?
 
Doe het eens zo:
Code:
    Workbooks("a.xls").Activate
    bestand = "C:\Documents\" & Range("Blad2!G2").Value & ".xls"

    If Dir(bestand) = "" Then
        MsgBox ("Bestand niet gevonden: " & bestand)
        Range("F7").Select
        Selection.ClearContents
        Range("D7").Select
        Selection.ClearContents
        Exit Sub
    End If
    
    Workbooks.Open Filename:=bestand
 
thanx ga ik proberen, is al een heel stuk korter.
ben nu ook bezig met het afsluiten van het bestand, nedat de nieuwe met de macro is geopend.
ga ik zelf uitvogelen, ik dacht iets met ThisWorkbook.Close SaveChanges:=True
wordt vervolgd.
the rookie
 
Om 1 of andere reden is er een rood gezichtje boven m'n post terecht gekomen.
Geen idee hoe, maar de bedoeling was het in ieder geval niet.
 
had ik nog niet gezien.
ik heb wel de bovenste regel moeten verwijderen en dan loopt het goed.
dank u ik gooi de topic op gereed.
 
En als er vragen rijzen dan weet je waar je moet zijn :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan