• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Getallenrij zetten + oppervlakte berekenen

Status
Niet open voor verdere reacties.

RobbertS

Nieuwe gebruiker
Lid geworden
28 mei 2010
Berichten
4
Hallo allemaal,

Ik heb een vraagje dat ik maar niet opgelost krijg. Ik hoop dat jullie me kunnen helpen.

Wat ik wil doen namelijk is bijvoorbeeld x1 = 14 ingeven zodat ik dan een rij krijg met 14 keer 1 in achtereenvolgende cellen.

Daarna wil ik y1 = 12 ingeven en in 12 onderelkaarstaande cellen wil ik ook het cijfer 1 hebben. Maar y1 moet beginnen in het einde van x1.

Door coordinaten in te geven wil ik een figuurtje maken met 1-tjes.

Bijvoorbeeld:

x1 = 4
y1=3
x2 = 2
y2=3
x3= - 5
y4 = - 5



Dan krijg ik het volgende:

1 - 1 - 1 - 1
1--------- 1
1 -------- 1 - 1
1 ------------ 1
1 - 1 - 1 - 1 - 1

Dus ik wil in x en y richting dus ook laten variëren.
Eens ik deze figuur heb, wil ik de oppervlakte van deze figuur weten.

Heeft iemand hier een oplossing voor? Want het zou me echt een stuk verderhelpen.

Dank bij voorbaat!
 
Laatst bewerkt:
Neen geen huiswerk vraag, maar een opdracht van mijn baas.

Hou wil op die manier snel een oppervlakte bepalen en daarmee zijn prijs calculeren.

Maar de functie om een getal in te geven en dan 1-tjes uit te zetten vind ik nergens.
Bijgevolg dat ik moeilijk aan mijn opdracht kan beginnen.

Vandaar dat ik hier hulp kom vragen.
 
Typ in cel C1 van een leeg blad bijvoorbeeld G10.

Dan plak je deze code in VBA achter dit blad.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Select Case Target.Address(0, 0)
        Case "A1":
            If Target > 0 Then
                Range([C1]).Resize(, Target) = 1
                [C1] = Range([C1]).Offset(, Target - 1).Address(0, 0)
            ElseIf Target < 0 Then
                Range([C1]).Offset(, 1 + Target).Resize(, Abs(Target)) = 1
                [C1] = Range([C1]).Offset(, Target + 1).Address(0, 0)
            End If
        Case "B1"
            If Target > 0 Then
                Range([C1]).Resize(Target) = 1
                [C1] = Range([C1]).Offset(Target - 1).Address(0, 0)
            ElseIf Target < 0 Then
                Range([C1]).Offset(1 + Target).Resize(Abs(Target)) = 1
                [C1] = Range([C1]).Offset(Target + 1).Address(0, 0)
            End If
    End Select
End Sub

Dan kan je in cellen A1 en B1 de lengte van de ribben intypen. X waarden gaan in A1, Y waarden gaan in B1.

En dan mag jij de oppervlakten nog berekenen ;)

Wigi
 
Ok heel fel bedankt al, maar ik krijg dit niet aan het werken in excell :o

Kun je me misschien het bestandje zetten met het programmatje ingewerkt. ik heb niet zo veel ervaring in VBA.

dank u!
 
Klik met rechtermuisknop op de bladtab (onderaan), en plak mijn code aldaar in het witte vlak. Sluit VBA af met het kruisje.
 
Ik heb het programmatje even uitgetest en het werkt goed. Waarvoor dank.

Enkel heb ik nog 1 klein vraagje.

Hoe kan ik het volgende bijprogrammeren:

Als Y1 is + en X2 is + dan moet er bij Y1 een 1tje extra bijkomen.

Als je een tekening maakt dan is er een foute indicatie ingeval van binnenhoeken. deze moeten dan één eentje langer worden.

En waar moet ik dit dan toevoegen in het programmake, aangezien er al een if / then functie in staat?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan