Ik probeer met vb6 een groot aantal regressie uit te voeren in Excel. Ik heb daarover vanmorgen ook een topic geopend (\[VB6/Excel]Bij gebruik van ATPVBAEN.XLA!Regress-> error 1004)
Inmiddels werkt het maken van de regressietabel prima, maar omdat ik een heleboel achter elkaar wil doen moeten ook de regressietabellen achter elkaar.
Het gaat om dit stukje code:
Via regel 4 kun je opgeven waar de uitkomst heen moet.
Wat ik dus in mijn loopje doe, is dat ik eerst bepaal wat de meest rechtse kolom is met data, daar 1 bij op tel en vervolgens die waarde meegeef in de functie.
Omdat de Range met letters voor de kolomwaarden werkt gebruik ik de chr(), etc. Dit werkt prima totdat ik 3 uitkomsten heb geplaatst en ik voorbij kolom Z kom en dus in de AA, AB en AC kolommen terecht kom.
Nu kan ik dat natuurlijk afvangen door
Ik heb al geprobeerd met
Omdat de Run() functie een algemene functie is, is de help erg summier en kom ik er niet langer uit.
Heeft iemand een idee hoe dit elegent op te lossen?
Inmiddels werkt het maken van de regressietabel prima, maar omdat ik een heleboel achter elkaar wil doen moeten ook de regressietabellen achter elkaar.
Het gaat om dit stukje code:
Visual Basic 6:
1
2
3
4
5
| oExcel.Run "ATPVBAEN.XLA!Regress", Worksheets(sBlad1Naam).Range(sResultaatKolom & "1:" & sResultaatKolom & lEindeRijResultaat), _ Worksheets(sBlad1Naam).Range(sStartKolom & "1:" & sEindKolom & lEindeRijResultaat), _ False, True, 95, _ Worksheets(sResultaatBladnaam).Range(Chr(lMaxColumnResultaat + Asc("A") - 1) & "$1"), _ False, False, False, False, , False |
Via regel 4 kun je opgeven waar de uitkomst heen moet.
Wat ik dus in mijn loopje doe, is dat ik eerst bepaal wat de meest rechtse kolom is met data, daar 1 bij op tel en vervolgens die waarde meegeef in de functie.
Omdat de Range met letters voor de kolomwaarden werkt gebruik ik de chr(), etc. Dit werkt prima totdat ik 3 uitkomsten heb geplaatst en ik voorbij kolom Z kom en dus in de AA, AB en AC kolommen terecht kom.
Nu kan ik dat natuurlijk afvangen door
Visual Basic 6:
te vervangen door een eigen ingewikkelde functie die wel AA, AB, enz. teruggeeft, maar ik vraag me af of er niet een meer elegantere oplossing is.1
| Chr(lMaxColumnResultaat + Asc("A") - 1) |
Ik heb al geprobeerd met
Visual Basic 6:
, maar het gebruik van Cells() mag/kan hier niet.1
| Worksheets(sBlad1Naam).Range(Cells(1, lResultaatKolom), Cells(lEindeRijResultaat, lResultaatKolom)) |
Omdat de Run() functie een algemene functie is, is de help erg summier en kom ik er niet langer uit.
Heeft iemand een idee hoe dit elegent op te lossen?