• 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.

meerdere data verwerken tot 1 uitkomst

Status
Niet open voor verdere reacties.

hiltoneng

Gebruiker
Lid geworden
9 mrt 2009
Berichten
9
Hallo,
Ik heb het volgende probleem:
in werkblad 1 staan een 10 tal input gegevens.
In werkblad 2 worden deze getallen via diverse formules verwerkt tot 1 resultaat.
Nu zou ik graag een tabel willen hebben, waarbij de inputgegevens staan en de bijbehorende uitkomst erbij.
Voor 1 "serie" inputgetallen kan dat natuurlijk, maar ik heb ongeveer 200 series nodig.
Dus eigenlijk kopieren, en dan plakken als waarde is een tijdrovende zaak.

Ik heb gestoeid met matrixen, maar daar kom ik niet verder mee.

Heeft iemand een idee?
 
Maak eens een voorbeeldbestandje (zonder vertrouwelijke info) met enkele series zodat we zien wat je hebt en waar je heen wil

Mvg

Rudi
 
Voorbeeld

Hallo Rudi,
Hier is mijn voorbeeld berekening.
In het excel blad heb ik ook gewschreven wat ik graag zou willen als uitkomst.
Ik hoop dat het duidelijk is

m vr gr

Marco.
 

Bijlagen

Perfect

Hoi Rudi,

Ja dit is inderdaad wat ik bedoel. Alleen zou ik nu ook graag willen weten hoe ik die lange lijst maak, want ik dit was slechts een voorbeeld, en niet het werkelijke sheet.
Kun je me daarmee helpen?

groeten

Marco
 
Beste hiltoneng ;)

Heb deze gemaakt met een gegevensvalidatie, je hoeft enkel de hoek, lengte en aantal in te geven via een lijst die opengaat van zodra je op de cel klikt.

Groetjes Danny. :thumb:
 

Bijlagen

Hoe er ook rekening mee dat de Cos functie in Excel een argument verwacht in radialen. Niet in graden. Voor een correcte cos uitkomst moet je uw graden omzetten in radialen, bv. via de radialen functie.

Eigenlijk is dit ook een mooie case om datatables te gebruiken, maar die "lijken" moeilijker dat gewoon de formule te gebruiken.
 
klopt

Inderdaad goed opgemerkt dat de cosinus niet juist wordt berekend. In mijn werkelijke database zitten invtan, cos en sinussen die inderdaad gerelateerd worden aan radialen.
Maar de berekening doe er eigenlijk niet zo toe. Het gaat meer over hoe ik die hele lijst kan produceren, zonder steeds handmatig getallen te moeten invullen.

wat je zegt over die datatables. Kan je daar iets meer over uitleggen?

groeten

Marco
 
Inderdaad goed opgemerkt dat de cosinus niet juist wordt berekend. In mijn werkelijke database zitten invtan, cos en sinussen die inderdaad gerelateerd worden aan radialen.
Maar de berekening doe er eigenlijk niet zo toe. Het gaat meer over hoe ik die hele lijst kan produceren, zonder steeds handmatig getallen te moeten invullen.

wat je zegt over die datatables. Kan je daar iets meer over uitleggen?

groeten

Marco

Vergeet datatables (NL gegevenstabellen) even :) Daarvoor heb je toch je inputgegevens nodig, en daar zit blijkbaar je probleem (maw ik had je vraag eerst verkeerd begrepen).

Bijgevoegd een bestand waar de invoercijfers bekomen zijn via formules (vanaf de tweede lijn waardes). Zulke formules is een mogelijkheid, en anders kan je VBA code overwegen om de nodige gegevens te genereren, maar dat vereist programmeerwerk.

PS. Door de vele gegevens werd het bestand te groot, dus je moet de formule verder naar beneden doortrekken (copieren) om al je nodige inputdata te verkrijgen.
 

Bijlagen

mogeljike oplossing

Hallo Finch,
Dit is inderdaad een mogelijke oplossing. Maar in het werkelijke sheet zitten erg veel berekeningen, die kom ik niet kwijt op deze manier.
Ik denk inderdaad dat VBA de enige mogelijke oplossing is. Weet je waar ik daar meer informatie over kan krijgen, want ik weet daar eigenlijk niets vanaf.

Trouwens is een makro misschien een oplossing?

Groeten

Marco
 
Dan zal je toch meer info moeten verschaffen betreft de opbouw van je bestand en zijn berekeningen. Trouwens een macro is een reeks bewerkingen geschreven in VBA dus om als leek hieraan te beginnen ligt wel wat moeilijk. Wat je wel kan doen is met de macrorecorder al je bewerkingen opnemen en daarin proberen wat te vereenvoudigen. Hierbij kan je wel op de hulp van dit forum rekenen lijkt me.

Mvg

Rudi
 
Hoi Marco,

Ik zat niet aan een macro te denken, maar aan een functie.

Open de VBA-editor en maak een module aan (als die er niet is).
Gebruik daarna de onderstaande code:

Functie Ber1(A,B,C)
Ber1=A*B*C
End Function

In een cel in Excel zet je vervolgens =Ber1(B2;B3;Cos(Radialen(B4))) of zoiets

De formules die je in Excel maakt kun je dus in de functie kwijt.

Gr. Jeroen
 
vba

Hoi Jeroen,

Ik heb gedaan wat je zei, maar excel zegt: #NAAM? als ik ber1(enz..... intyp in een cel.
Wel heb ik in de tussentijd een makro opgenomen, en die doet eigenlijk wat ik zil, alleen maar voor een paar stappen, ik zou dit graag in een loop willen zetten. maar helaas weet ik niet hoe.
Dus mijn macro copieert uit een matrix de juiste getallen. De berekening rekent, en de macro copieert en plakt de waarde dan achter die matrix vannet. Maar zoals ik al zei, helaas krijg ik die niet in een loop gezet. (te weinig kennis van zaken helaas) Kan je me hiermee helpen? Of een ander idee?

groeten
Marco
 
Kan je een klein voorbeeldbestandje posten met enkele getallen en je opgenomen macro ?

Mvg

Rudi
 
voorbeeldje met macro

Hallo Rudi,

Hier het voorbeeldje met macro.
Het gaat om macro 3.


groeten

Marco
 

Bijlagen

Marco, ik veronderstel dat je voorbeeld een versimpelde berekening was dus zal je bij x= nog wel de juiste berekeningswijze moeten invullen.
Code:
Sub result()
Dim c As Range
    For Each c In [H1:H12]
        x = c * c.Offset(0, 1) 'plaats hier de juiste berekeningswijze
        c.Offset(0, 5) = x
    Next c
End Sub

Mvg

Rudi
 
Begint erop te lijken

Hoi Rudi,

Je macro werkt prima. En hij is ook te begrijpen. Alleen kom ik de hele berekening niet kwijt in deze lijst, en wil ik ook niet, omdat je de duidelijkheid van excel dan verliest.
Iemand die VBA snap kan dan de berekening aanpassen, iemand die dan in excel de berekening aanpast, geeft dan niet het gewenste resultaat, denk ik.

Met andere woorden, dan wordt er programeertechnisch een berekening gemaakt, en dat wil ik juist met excel doen. Met VBA zou ik graag getallen uit een excel-matrix willen laten invullen in een excelblad-berekening, en de excel-uitkomst hiervan weer in een aparte kolom in die excel-matrix erbij laten zetten.
Dus eigenlijk zou ik het handmatig invullen van getallen en dan kijken wat de uitkomst is willen automatiseren.

Ik kan ook een deel van het werkelijke blad posten als iemand geinteresseerd is.

Groeten

Marco
 
Zoiets dan ?
Code:
Sub test()
Dim c as Range
    For Each c In [H1:H12]
        c.Copy Destination:=[A1]
        c.Offset(0, 1).Copy Destination:=[A2]
        c.Offset(0, 5).Value = [D1].Value
    Next
End Sub

Deze kan ook
Code:
Sub test1()
Dim c As Range
Application.ScreenUpdating = False
    For Each c In [H1:H12]
        c.Resize(1, 2).Copy
        [A1].PasteSpecial Paste:=xlValues, Transpose:=True
        c.Offset(0, 5).Value = [D1].Value
    Next
    With Application
            .CutCopyMode = False
            .ScreenUpdating = True
   End With
End Sub

Mvg

Rudi
 
Laatst bewerkt:
Wat voor berekening is dat ?

En een stukje werkelijkheid van je werkblad is ook nooit weg ter voorkoming van luchtfietserij.
 
dit is em (denk ik)

Hoi Rudi,

Erg hartstikke bedankt. Het ziet er goed uit.
Nu nog proberen te inplementeren in mijn sheet.
Dat laat ik nog wel even weten via dit forum.

Nogmaals bedankt

Groeten

Marco
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan