AbvStaalduinen
Gebruiker
- Lid geworden
- 11 mei 2009
- Berichten
- 12
Hallo allemaal,
Ik zit met een probleem en vind in andere topics geen oplossing.
Ik heb een schaarconstructie opgelost doormiddel van een matrix van 24x24. De krachten in de schaar zijn onder elke hoek anders dus kan hoek Alfa variabel worden gekozen. Hierdoor wijzigen de resultaten in de matrix steeds.
Nu wil ik op een leeg blad een overzicht maken van de 24 uitkomsten per hoek. Waarbij hoek Alfa tussen de 5 en 55 gekozen kan worden in stappen van 5. (5, 10, 15, ....., 50, 55).
Ik ben gestart door het maken van een Macro (macro opnemen). Ik vulde hierbij hoek alfa op blad "Matrix" in, kopieerde vervolgens het eerste resultaat. Ging hierna naar het blad "Overzicht schaarbenen", selecteerde de cel waar het resultaat moest komen en plakte hier de waarde (dus niet de formule). Vervolgens weer terug naar blad "Matrix", 2de uitkomst kopiëren, vervolgens weer naar blad "Overzicht schaarbenen" en plakte hier, naast het eerste resultaat, het tweede resultaat. Dit heb ik voor alle 24 waardes gedaan. Vervolgens vulde ik voor hoek alfa 10 in en herhaalde de eerste stappen weer.
Je begrijpt het al dit kost veel tijd. Dit kon iets versneld worden door de gehele code voor één hoek te kopiëren en in de programmacode de waarde van de regel te veranderen (één lager). Maar het resultaat van deze Macro is niet fraai. Op het blad "Matrix" is namelijk de commandbutton "Matrix invullen" geplaatst. Als deze ingedrukt wordt lijkt het alleen alsof je computer op hol begint te slaan. Er wordt namelijk, heel snel, continue tussen de bladen gewisseld, zoals met het macro opnemen is opgegeven. Een deel van de code die ik nu heb ziet er als volgt uit:
---------> zo nog 21 resultaten. Hierna wordt de hoek Alfa gewijzigd in 10 graden.
Wat ik eigenlijk wil is als volgt, je drukt op de knop en vervolgens wordt op de achtergrond het blad "overzicht schaarbenen" gevuld. Is het laatste resultaat hier ingevuld, dan wordt pas het blad "Overzicht schaarbenen" getoond.
Ik zit met een probleem en vind in andere topics geen oplossing.
Ik heb een schaarconstructie opgelost doormiddel van een matrix van 24x24. De krachten in de schaar zijn onder elke hoek anders dus kan hoek Alfa variabel worden gekozen. Hierdoor wijzigen de resultaten in de matrix steeds.
Nu wil ik op een leeg blad een overzicht maken van de 24 uitkomsten per hoek. Waarbij hoek Alfa tussen de 5 en 55 gekozen kan worden in stappen van 5. (5, 10, 15, ....., 50, 55).
Ik ben gestart door het maken van een Macro (macro opnemen). Ik vulde hierbij hoek alfa op blad "Matrix" in, kopieerde vervolgens het eerste resultaat. Ging hierna naar het blad "Overzicht schaarbenen", selecteerde de cel waar het resultaat moest komen en plakte hier de waarde (dus niet de formule). Vervolgens weer terug naar blad "Matrix", 2de uitkomst kopiëren, vervolgens weer naar blad "Overzicht schaarbenen" en plakte hier, naast het eerste resultaat, het tweede resultaat. Dit heb ik voor alle 24 waardes gedaan. Vervolgens vulde ik voor hoek alfa 10 in en herhaalde de eerste stappen weer.
Je begrijpt het al dit kost veel tijd. Dit kon iets versneld worden door de gehele code voor één hoek te kopiëren en in de programmacode de waarde van de regel te veranderen (één lager). Maar het resultaat van deze Macro is niet fraai. Op het blad "Matrix" is namelijk de commandbutton "Matrix invullen" geplaatst. Als deze ingedrukt wordt lijkt het alleen alsof je computer op hol begint te slaan. Er wordt namelijk, heel snel, continue tussen de bladen gewisseld, zoals met het macro opnemen is opgegeven. Een deel van de code die ik nu heb ziet er als volgt uit:
Code:
Sub Matrix_invullen()
Sheets("Matrix").Select
Range("E4").Select
ActiveCell.FormulaR1C1 = "5"
Range("AD18").Select
Selection.Copy
Sheets("Overzicht schaarbenen").Select
Range("B5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Matrix").Select
Range("AD30").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Overzicht schaarbenen").Select
Range("C5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Matrix").Select
Range("AD40").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Overzicht schaarbenen").Select
Range("D5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
---------> zo nog 21 resultaten. Hierna wordt de hoek Alfa gewijzigd in 10 graden.
Code:
Sheets("Matrix").Select
Range("E4").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "10"
Range("AD18").Select
Selection.Copy
Sheets("Overzicht schaarbenen").Select
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Matrix").Select
Range("AD30").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Overzicht schaarbenen").Select
Range("C6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Etc, etc,
Wat ik eigenlijk wil is als volgt, je drukt op de knop en vervolgens wordt op de achtergrond het blad "overzicht schaarbenen" gevuld. Is het laatste resultaat hier ingevuld, dan wordt pas het blad "Overzicht schaarbenen" getoond.