Gå til innhold

Problem med oppgave i VBA


Anbefalte innlegg

Videoannonse
Annonse

Så vidt jeg kan skjønne:

Combo1 skal inneholde valgene IPE og HEA. Idet en av disse velges, skal den Combo2 fylles med korresponderende Høyde-verdi. Når så en av disse velges i Combo2, skal korresponderende Treghetsmoment skrives til ett eller annet sted.

 

Løs den første først: Tømme Combo2 og fyll med verdier fra rett kolonne idet Combo1 klikkes. (Dvs aller aller først; overfør greiene til Excel og vit hvor de ligger)

 

HTH. Beste hilsen Harald

Lenke til kommentar
men hvordan skriver man inn matriser i visualbasic=?

7107173[/snapback]

En matrise kan man enklest sett representere med en todimmensjonert array (tabell) således:

Dim X As Long, Y As Long

Dim aMatrix() As Long ' Endre datatypen til hva du behøver

 

' Allokerer en viss størrelse. Bruk Preserve for å beholde den allerede eksisterende informasjonen.

ReDim aMatrix(0 To 10, 0 To 10)

 

' For å finne minimun- og maksimumindeksene til de ulike dimmensjonene, benyttes henholdsvis LBound() og UBound()

For X = LBound(aMatrix, 1) To UBound(aMatrix, 1)

    For Y = LBound(aMatrix, 2) To UBound(aMatrix, 2)

   

        ' Sett verdien til dette elementet

        aMatrix(X, Y) = X * Y

   

    Next

Next

Lenke til kommentar

ja grunnlaget er at vi skal legge sub funksjonen i excell, men den forklaringen jeg har fått fra lærer om å lage matriser var mildt sagt manglende..

 

Jeg er student første året på byggingeniørlinjen på Høgskolen i Bergen

Endret av sull
Lenke til kommentar
ja grunnlaget er at vi skal legge sub funksjonen i excell, men den forklaringen jeg har fått fra lærer om å lage matriser var mildt sagt manglende..

 

Jeg er  student første året på byggingeniørlinjen på Høgskolen i Bergen

7125059[/snapback]

 

Kan jo hende lærern din tenker på ARRAY når han snakker om Matrise

 

Ikke godt å si

 

Ole

Lenke til kommentar

En array er en matrise.

 

In computer programming, an array, also known as a vector or list, is one of the simplest data structures. Arrays hold equally-sized data elements, generally of the same data type. Individual elements are accessed by index using a consecutive range of integers, as opposed to an associative array. Some arrays are multi-dimensional, meaning they are indexed by a fixed number of integers, for example by a tuple of four integers. Generally, one- and two-dimensional arrays are the most common.

en.wikipedia.org/wiki/Array

 

Det vil si: En en-dimensjonal array er en vektor på matematikkspråket, mens en to- eller fler-dimensjonal array er en matrise.

 

I dette tilfellet blir det vel riktig å bruke ordet matrise da man må ha en kolonne for tverrsnittshøyden og en for tilhørende treghetsmoment.

Lenke til kommentar

Jeg tror du ser deg blind på dette med matriser, oppgaven sier ingenting om det. Hvis du kopierer-limer tabellen fra word inn i ark1 i Excel, så kan du ta utgangspunkt i disse kodene:

 

Option Explicit

 

Dim C As Long

 

Sub SettOpp()

Sheets(1).DropDowns(1).AddItem "IPE"

Sheets(1).DropDowns(1).AddItem "HEA"

End Sub

 

Sub Drop1Click()

Dim R As Long, RL As Long

Select Case Sheets(1).DropDowns(1).ListIndex

Case 1

C = 1

Case 2

C = 4

Case Else

Exit Sub

End Select

Sheets(1).DropDowns(2).RemoveAllItems

RL = Sheets(1).Cells(Rows.Count, C).End(xlUp).Row

For R = 3 To RL

Sheets(1).DropDowns(2).AddItem Sheets(1).Cells(R, C).Value

Next

End Sub

 

Sub Drop2Click()

If C < 1 Then Exit Sub

MsgBox Sheets(1).Cells(Sheets(1).DropDowns(2).ListIndex + 2, C + 1).Value

End Sub

 

Tilordne Drop1-koden til første boks, Drop2-koden til andre og SettOpp til et egnet event (workbook_open eller noe sånt).

Men siden du skal bruke kontrollene fra Skjemaverktøylinjen, lurer jeg på om du skal levere VB i det hele tatt, kanskje det heller forventes en formelbasert løsning. Disse kontrollene har ingen intellisense i VB og nevnes ikke i Help, det er nesten bare vi gamlinger som kjenner objeektmodellen og kan kode dem. (Men kanskje er læreren din like gammel som meg ?)

 

HTH. beste hilsen Harald

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...