Goedemiddag!
De vraag is; hoe kan ik variabelen meegeven aan een subroutine?
Achtergrond:
Ik heb 1 'lange' code geschreven welke eigenlijk drie subroutines zou kunnen bevatten:
1. Open een excel
2. doe daar iets mee
3. Sla op onder een andere naam
Ik weet dat het mooier/netter/beter is om code kort en krachtig te houden, en duidelijk bij functie wat het doet.
Op moment is mijn code alles behalve dat. Maar ik kan wel wat hulp gebruiken om dit te verbeteren.
Voor het gemak:
Hier mijn code en in de bijlage mijn test bestandje.
De vraag is; hoe kan ik variabelen meegeven aan een subroutine?
Achtergrond:
Ik heb 1 'lange' code geschreven welke eigenlijk drie subroutines zou kunnen bevatten:
1. Open een excel
2. doe daar iets mee
3. Sla op onder een andere naam
Ik weet dat het mooier/netter/beter is om code kort en krachtig te houden, en duidelijk bij functie wat het doet.
Op moment is mijn code alles behalve dat. Maar ik kan wel wat hulp gebruiken om dit te verbeteren.
Voor het gemak:
Hier mijn code en in de bijlage mijn test bestandje.
Code:
Sub zoekFile()
'
Dim mijnBestand As String
Dim gezochtBestand As String
Dim wb As Workbook
Dim factuurDatum As String
Dim factuurPeriode As String
Dim week As String
Dim nieuweNaam As String
Dim klant As String
Dim zendingen As Long
Dim colli As Long
zendingen = Range("A" & Rows.Count).End(xlUp).Row - 1
colli = WorksheetFunction.Sum(Range("C:C"))
klant = Sheets(1).Name
factuurDatum = Sheets(1).Range("F1")
factuurPeriode = Sheets(1).Range("F2")
week = Sheets(1).Range("F3")
nieuweNaam = "Factuur " & Sheets(1).Name & " Week " & week
MsgBox klant
gezochtBestand = klant & ".xlsx"
mijnBestand = Dir("C:\Users\lieke\Desktop\Oefenen\" & gezochtBestand)
If gezochtBestand <> mijnBestand Then
MsgBox "Geen Template voor " & gezochtBestand
Else
Set wb = Workbooks.Open("C:\Users\lieke\Desktop\Oefenen\" & gezochtBestand) 'Helaas werkt 'mijnBestand' nog niet
End If
'sub doeIets()
wb.Worksheets(1).Range("H10").Value = factuurDatum
wb.Worksheets(1).Range("H11").Value = factuurPeriode
'sub slaOp()
wb.SaveAs ("C:\Users\lieke\Desktop\Oefenen\" & nieuweNaam & ".xlsx")
wb.Close
End Sub
Bijlagen
Laatst bewerkt: