actuarisje
Nieuwe gebruiker
- Lid geworden
- 31 jan 2010
- Berichten
- 1
Hoi Allemaal,
Ik ben redelijk nieuw in Excel en vrijwel compleet nieuw in VBA. Ik ben sinds kort begonnen om wat dingen te gaan leren en nu loop ik tegen een klein probleempje aan. Ik hoop dat jullie me kunnen helpen!
Het gaat om het volgende. Ik heb een workbook met daarin een aantal regels. Deze regels zullen dagelijks geupdate moeten gaan worden aan de hand van een geupdated workbook. Om dit te kunnen doen heb ik de volgende macro bedacht:
Maar deze wekrt niet helemaal zoals ik wil dat 'ie werkt. Wat er nu gebeurt is het volgende:
OUDE FILE:
1 a b c d e
2 a b c d e
3 a b c d e
4 a b c d e
5 a b c d e
UPDATE (in dit voorbeeld iser een nieuwe regel bijgekomen. Ook is er in de update 1 kolom minder)
1 a b c d
2 a b c d
3 a b c d
3.1 a b c d
4 a b c d
5 a b c d
OUTPUT NA RUNNEN MACRO
1 a b c d e
2 a b c d e
3 a b c d e
3.1 a b c d e
4 a b c d e
5 a b c d
Oftewel, van regel 3.1 zijn alleen kolommen a t/m e toegevoegd, maar kolom F niet. Alles in kolommen a t/m e wordt dus naar beneden geschoven, maar de inhoud van kolom F niet. Dus mist er de letter 'e' in cel F6. Wat ik als output had willen hebben is natuurlijk
1 a b c d e
2 a b c d e
3 a b c d e
3.1 a b c d (en hier geen 'e'. Deze cel moet dus leeg blijven)
4 a b c d e
5 a b c d e
Ziet iemand waar mijn code spaak loopt en hoe ik dat op kan lossen? Ik heb al geprobeerd om in de macro de range te veranderen, maar zodra kolom F in deze range zit, verdwijnt deze geheel na het updaten, omdat kolom F in de update leeg is.
Wie kan mij helpen?
Ik ben redelijk nieuw in Excel en vrijwel compleet nieuw in VBA. Ik ben sinds kort begonnen om wat dingen te gaan leren en nu loop ik tegen een klein probleempje aan. Ik hoop dat jullie me kunnen helpen!
Het gaat om het volgende. Ik heb een workbook met daarin een aantal regels. Deze regels zullen dagelijks geupdate moeten gaan worden aan de hand van een geupdated workbook. Om dit te kunnen doen heb ik de volgende macro bedacht:
Code:
Sub updaten()
Application.Calculation = xlCalculationManual
update = "update.xls"
bron = "bron.xls"
vandaag = Date
ActiveWorkbook.SaveCopyAs "E:\test\bron " & vandaag & ".xls"
GetObject "E:\test\" & update
Windows(update).Activate
Sheets("blad1").Range("A:E").Copy
Windows(bron).Activate
Sheets("update").Range("A:E").PasteSpecial xlPasteValues
Sheets("update").Range("A:E").Copy
Sheets("bron").Range("A1").PasteSpecial xlPasteValues
Windows(update).Activate
ActiveWorkbook.Close savechanges = False
Application.Calculation = xlCalculationAutomatic
Windows(bron).Activate
End Sub
Maar deze wekrt niet helemaal zoals ik wil dat 'ie werkt. Wat er nu gebeurt is het volgende:
OUDE FILE:
1 a b c d e
2 a b c d e
3 a b c d e
4 a b c d e
5 a b c d e
UPDATE (in dit voorbeeld iser een nieuwe regel bijgekomen. Ook is er in de update 1 kolom minder)
1 a b c d
2 a b c d
3 a b c d
3.1 a b c d
4 a b c d
5 a b c d
OUTPUT NA RUNNEN MACRO
1 a b c d e
2 a b c d e
3 a b c d e
3.1 a b c d e
4 a b c d e
5 a b c d
Oftewel, van regel 3.1 zijn alleen kolommen a t/m e toegevoegd, maar kolom F niet. Alles in kolommen a t/m e wordt dus naar beneden geschoven, maar de inhoud van kolom F niet. Dus mist er de letter 'e' in cel F6. Wat ik als output had willen hebben is natuurlijk
1 a b c d e
2 a b c d e
3 a b c d e
3.1 a b c d (en hier geen 'e'. Deze cel moet dus leeg blijven)
4 a b c d e
5 a b c d e
Ziet iemand waar mijn code spaak loopt en hoe ik dat op kan lossen? Ik heb al geprobeerd om in de macro de range te veranderen, maar zodra kolom F in deze range zit, verdwijnt deze geheel na het updaten, omdat kolom F in de update leeg is.
Wie kan mij helpen?