onderdriehoeksmatrix

Status
Niet open voor verdere reacties.

Jetong

Nieuwe gebruiker
Lid geworden
6 aug 2009
Berichten
2
Héj,
om een vriendin te helpen was ik haar aan het helpen met een vraagstuk dat ze moet oplossen voor een oefening te maken in VBA.
dit was de opgave

Schrijf een subprocedure die een rij van vijftien getallen inleest uit de cellen op de eerste rij
van een Excelwerkblad, en die deze getallen daarbij opslaat in een arrayvariabele. Vervolgens
wordt deze reeks van getallen in omgekeerde volgorde uitgeschreven in de vorm van een
onderdriehoeksmatrix: op de eerste rij staat ´e´en getal, op de tweede rij staan twee getallen,
enz.


Nu heb daar beetje op zitten zoeken en kwam tot hetvolgende resultaat (voor mij was het wel 6 maand geleden en had ik niet onmiddellijk een cursus in mijn buurt, waardoor ik misschien een beetje omslachtig heb gewerkt. Ondanks kwam ik toch tot een resultaat.
Maar wanneer ik nu alles laat uitschrijven in het venster direct worden de verschillende rijen wel gescheiden uitgeschreven. Maar ipv naast elkaar staan ze onder elkaar.
Kan iemand mij helpen?

Option Explicit

Sub onderdriehoeksmatrix()

Dim driehoek(15) As Integer, i As Integer, j As Integer


For i = 1 To 15
driehoek(i) = Worksheets("blad1").Cells(1, i).Value
Next i

For j = 15 To 1 Step -1
Select Case j
Case Is = 15
Debug.Print driehoek(j); vbCr
Case Is >= 13
If j = 13 Then
Debug.Print driehoek(j); vbCr
Else
Debug.Print driehoek(j); vbTab
End If
Case Is >= 10
If j = 10 Then
Debug.Print driehoek(j); vbCr
Else
Debug.Print driehoek(j); vbTab
End If
Case Is >= 6
If j = 6 Then
Debug.Print driehoek(j); vbCr
Else
Debug.Print driehoek(j); vbTab
End If
Case Is > 0
Debug.Print driehoek(j); vbTab
End Select
Next j
End Sub
 
Als ik het goed begrijp moet het resultaat lijken op

1
2 2
3 3 3
4 4 4 4
5 5 5 5 5

Dan zijn 4 regels code voldoende.

Suggestie: alle 15 getallen in de 1e regel kun je in 1 opdracht in een matrixvariabele lezen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan