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

Hulp nodig If File exist

Status
Niet open voor verdere reacties.

joeyverveer

Gebruiker
Lid geworden
18 jan 2011
Berichten
20
:edit:

Gezien mijn beperkte kennis in excel vraag ik hulp bij het volgende.
Ik heb in een map weekoverzichten (genaamd wk1.xlsx wk2.xlsx ....etc) zitten waarvan ik bedragen wil optellen.

Bijvoorbeeld van wk1.xlsx $Weekoverzicht.D21
Is hiervoor een simpele code waarbij ik een cel uit meerdere bestanden kan laten optellen?

1jaar heeft 52 weken dus de teller hoeft max tot 52 te gaan.
En gezien we nu in wk23 zitten mag hij nu slechts tot wk22 optellen.

Beetje dit idee
Code:
Teller = integer
ALS teller < 52 dan & <WEEKNUMMER(VANDAAG();2) dan 
A2 = A2 + wk(teller).xlsx $Weekoverzicht.D21
teller = teller + 1

let niet op de syntax zoals gezegd ben ik in vba niet thuis:o
 

Bijlagen

Laatst bewerkt:
Kijk eens naar deze:
Code:
If Dir("VoorbeeldBestand.xlsx") <> "" Then
    Result = WijKunnenHelpen()
End If
 
Alles in 1 tabel zetten lijkt mij ook niet zo'n verkeerd idee.
 
Laatst bewerkt:
Kijk eens naar deze:
Code:
If Dir("VoorbeeldBestand.xlsx") <> "" Then
    Result = WijKunnenHelpen()
End If

Dan Heb ik een begin ja echter heb ik zelf nooit geschreven in vba
dus ik zou niet weten hoe ik een integer definieer en vervolgens een loop maak :shocked:

zoiets ? (compleet foute syntax :o)
Code:
If Teller < 53 Then
If Dir("wk(teller).xlsx") <> "" Then
    Result = A2=A2+wk(teller).xlsx'#$Weekoverzicht.B42
    Teller=teller+1
End If
 
Laatst bewerkt:
Ik denk niet dat je de hint begrepen hebt... ;)
 
Het blauwe gedeelte aanpassen.
De map waar de "wk" .xlsx bestanden inzitten is hier genaamd 'map1'.
Code:
Sub hsv()
Dim bestandopen
Application.ScreenUpdating = False
ReDim arr(0)
 bestandopen = Dir("[COLOR=#0000ff]C:\users\verveer\documents\map1[/COLOR]\*")
  Do Until bestandopen = "wk" & DatePart("ww", Date, vbMonday, vbFirstFourDays) & ".xlsx"
    With Workbooks.Open("[COLOR=#0000ff]C:\users\verveer\documents\map1[/COLOR]\" & bestandopen)
      arr(UBound(arr)) = .Sheets("weekoverzicht").range("d21")
      ReDim Preserve arr(UBound(arr) + 1)
      .Close False
    End With
    bestandopen = Dir
  Loop
  ThisWorkbook.Sheets("krasloten").Range("k1").Resize(UBound(arr) + 1) = Application.Transpose(arr)
End Sub

Opgeteld wordt het zo.
Code:
Sub hsv()
Dim bestandopen, tel as double
Application.ScreenUpdating = False
 bestandopen =[COLOR="#0000FF"] Dir("C:\users\verveer\documents\map1[/COLOR]\*")
  Do Until bestandopen = "wk" & DatePart("ww", Date, vbMonday, vbFirstFourDays) & ".xlsx"
    With Workbooks.Open("[COLOR="#0000FF"]C:\users\verveer\documents\map1[/COLOR]\" & bestandopen)
     tel = tel + .Sheets("weekoverzicht").range("d21")
      .Close False
    End With
    bestandopen = Dir
  Loop
 Sheets("krasloten").Range("k1") =tel
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan