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

formule in cel flexibel maken

Status
Niet open voor verdere reacties.

Friend

Verenigingslid
Lid geworden
31 jan 2009
Berichten
1.137
Beste forummers,

Ik heb in cel C10 de volgende formule staan:

Code:
=+'C:\B-PL\2015\[151206.xls]week'!$C$10

Nu wil ik graag het volgende gegeven variabel maken : 151206

Dus in cel C5 tik ik dan in": 151206 of 151207 etc

Hoe kan ik de code in C10 aan passen zodat dit gegeven verandert afhankelijk van de waarde in C5?

Friend
 
Beste,

Misschien lukt het zo : =+'C:\B-PL\2015\"[" &C5&".xls]"week'!$C$10
 
Beste,

Misschien lukt het zo :
Code:
=+'C:\B-PL\2015\"["&C5&".xls]"week'!$C$10
 
Beste Tkint,

Hartelijk dank voor je reactie :thumb:

Helaas is dit niet de oplossing.

Friend
 
Een tijdje terug passeerde hier een vergelijkbare vraag: Week-nummer-variabel-maken

Toen kwamen we niet verder dan gebruik van INDIRECT, dat alleen werkt als het bestand open is.

Vertaald naar de huidige vraag:
Code:
=INDIRECT("'["&C5&".xls]week'!$C$10")
 
Marcel,

Ook hartelijk dank voor jouw reactie en bijdrage :thumb:

Dit werkt inderdaad, maar zoals je zegt, alleen als het betreffende bestand openstaat :(

De door jou eerder genoemde vergelijkbare vraag kwam inderdaad ook niet verder.

Maar misschien dat er toch iemand hier de juiste code of oplossing voor weet hoop ik, per slot van
rekening zie ik zo vaak zoveel mooie kennis op het forum voorbij komen :)

Thanks

Friend
 
Laatst bewerkt:
Voor zover ik weet kun je met alleen een formule in een werkblad geen wijzigingen aanbrengen in een gesloten bestand.
Wat je wil kun je (denk ik) alleen bereiken met vba, waarmee je het gewenste bestand opent, de wijzigingen doorvoert, en daarna sluit.
 
Zapatr,
Hartelijk dank voor je reactie
In vba gaat het mij helaas niet lukken.
Dus misschien dat een pro hier nog ideeën voor heeft?
Hartelijk dank
Friend
 
Plaats onderstaande code achter het blad waarin je C5 wil wijzigen.
Uit je tekst blijkt dat je nog met Excelfiles 2002 of 2003 werkt, daar is hier dan ook vanuitgegaan.
Zorg ervoor dat in die files het uitvoeren van macro's is toegestaan.
In de code is aangenomen dat het blad waarin je C5 wijzigt de naam Blad1 heeft, is dat bij jou anders dan moet je dat in de code wijzigen (2 x). Verder moet natuurlijk de file met het getal dat je in C5 invoert gevolgd door .xls , bestaan in de directory die je hebt vermeld. Is aan die voorwaarden niet voldaan, dan zal de macro worden onderbroken. Best kun je van C5 een cel met gegevensvalidatie maken, zodat je daar geen foutief getal kunt invoeren. Bij mij werkt het.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("C5"), Target) Is Nothing Then
Dim mystr As String, myfile1 As Workbook, myfile2 As Workbook, mypath As String
'Deze macro werd geschreven door Zapatr
mystr = CStr(Sheets("Blad1").Range("C5").Value) & ".xls"
mypath = "C:\B-PL\2015\"
Set myfile1 = ActiveWorkbook
Workbooks.Open mypath & mystr
Set myfile2 = ActiveWorkbook
With myfile2
.Sheets("week").Range("C10").Copy myfile1.Sheets("Blad1").Range("C10")
End With
myfile2.Close
End If
End Sub
 
Laatst bewerkt:
Volgens mij bedoelt TS dit:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim sPath As String
    If Target.Address <> "$C$5" Then Exit Sub
    
    sPath = "C:\B-PL\2015\"
    If Dir(sPath & [C5] & ".xls") = "" Then
        MsgBox "Geen bestand gevonden."
        Exit Sub
    End If
    [C10].Formula = "='" & sPath & "[" & [C5] & ".xls]week'!$C$10"
End Sub

Dit werkt overigens alleen als je cel C5 handmatig muteert. Als C5 een formule bevat die afhankelijk is van weer andere cellen werkt het niet.
Jouw vraag komt regelmatig voorbij en het blijft vaak tobben.
 
Laatst bewerkt:
Beste Zapatr en Timshel,

Hartelijk dank voor jullie reacties :thumb::thumb:

Excuus ik was er even een paar dagen tussenuit :)

Dit werkt inderdaad bij handmatige mutatie en ja ik heb een formule in C5 :o

Zo het is nog niet de eindoplossing maar eens goed over nadenken als dit inderdaad niet op te lossen is om mijn hele opzet te gaan veranderen.

Hartelijk dank voor jullie meedenken en feedback :thumb::thumb:

Friend
 
Dan zou je het nog in de calculate_event kunnen zetten, maar de code loopt elke keer als er een cel wordt berekend.
Code:
Private Sub Worksheet_Calculate()
Dim sPath As String
sPath = "C:\B-PL\2015\"
If Not IsError([c5]) Then
 If Dir(sPath & [c5] & ".xls") <> "" Then
     Application.EnableEvents = False
        [C10] = "='" & sPath & "[" & [c5] & ".xls]week'!$C$10"
     Application.EnableEvents = True
     Else
        'MsgBox "Geen bestand gevonden."
        [C10] = "Gegevens niet beschikbaar"
   End If
 End If
End Sub
 
Laatst bewerkt:
Harry,

Heel hartelijk dank voor jouw reactie en inbreng :thumb:

Excuus dat ik niet eerder heb geantwoord.

Friend
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan