PDA

Vollständige Version anzeigen : hilfe! vba aufgabe von schüler


mattr
28.06.2006, 16:07
hallo!

hört sich vielleicht doof für die meisten von euch an, aber ich hab kein plan wie ich vba was programmieren kann und bräuchte die folgende aufgabe für ne klausur übermorgen. kann mir jemand bei dieser aufgabe weiterhelfen? wäre sehr nett!

aufgabe:
in spalte A eines excel tabellenblattes befinden sich namen der teilnehmer einer busreise, in spalte B steht jeweils ein kennbuchstabe und in der dritten spalte C steht das alter der person in jahren. als kennbuchstaben werden verwendet: B für Bucher, P für partner und K für kind. nach dem drücken eriner symbolfläche soll ein makro SCHNITT ablaufen das in zelle D2 das durchschnittslater (arithmetisches mittel) der mit B gekennzeichnetetn personen ausgibt: in den zellen E2 und F2 sollen analog die durchscnittslater der partner und kinder erscheinen. formulieren sie die lösung in form eines vba makros!

vielen dank!

Lumpensammler
28.06.2006, 16:17
Hallo, mattr,

warum braucht man dafür VBA? Meines Wissens reichen Funktionen und ein DropDown nach Daten/Gültigkeit dafür aus.

Gruß
LS

mattr
28.06.2006, 17:55
hallo LS

wenn du das sagst hast du mit sicherheit recht, aber für die prüfungsaufgabe muss ich nunmal vba code schreiben und das krieg ich nun mal nicht hin. falls mir jemand weiterhelfen könnte, sprich den code kurz schreiben, wäre ich sehr dankbar!

grüße

jinx
28.06.2006, 17:59
<font size="2" face="Century Gothic">Moin, mattr,

macht es Dir etwas aus, eine Beispielmappe als Anhang einzustellen? Wnen ich schon anderer Leute Schularbeiten machen soll, muss ich ja nicht unbedingt bei Adam und Eva anfangen... ;)</font>

mattr
28.06.2006, 18:28
hallo jinx

schicke mal ne mappe per anhang mit, ist aber wie gesagt einfach nur des grundgerüst reingeschrieben ohne makro, editor etc.

grüße

jinx
28.06.2006, 19:40
<font size="2" face="Century Gothic">Moin, mattr,

Anlegen, Ausführen und Anbinden von Makros (http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=86696) könnte auch noch wichtig sein:

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Option</span> <span class="TOKEN">Explicit</span>
&nbsp;
<span class="TOKEN">Sub</span> mattrWerte()
<span class="TOKEN">Dim</span> bytCounter <span class="TOKEN">As</span> <span class="TOKEN">Byte</span>
<span class="TOKEN">Dim</span> lngCount <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
<span class="TOKEN">Dim</span> lngAge <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
<span class="TOKEN">Dim</span> myArray <span class="TOKEN">As</span> Variant
<span class="REM">' Array f&uuml;llen</span>
myArray = Array(&quot;B&quot;, &quot;P&quot;, &quot;K&quot;)
<span class="REM">' Array durchlaufen</span>
<span class="TOKEN">For</span> bytCounter = <span class="TOKEN">LBound</span>(myArray) <span class="TOKEN">To</span> <span class="TOKEN">UBound</span>(myArray)
<span class="TOKEN">With</span> WorksheetFunction
<span class="REM"> ' Anzahl ermitteln im benutzten Bereich</span>
lngCount = .CountIf(Range(&quot;B2:B&quot; &amp; Range(&quot;B1&quot;).End(xlDown).Row), myArray(bytCounter))
<span class="REM"> ' Summe des Alters ermitteln</span>
lngAge = .SumIf(Range(&quot;B2:B&quot; &amp; Range(&quot;B1&quot;).End(xlDown).Row), myArray(bytCounter), _
Range(&quot;C2:C&quot; &amp; Range(&quot;C1&quot;).End(xlDown).Row))
<span class="TOKEN">End</span> <span class="TOKEN">With</span>
<span class="REM"> ' Werte in die Zellen schreiben und formatieren</span>
Cells(2, 4 + bytCounter).Value = Format((lngAge / lngCount), &quot;0.00&quot;)
<span class="TOKEN">Next</span> bytCounter
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)</font>

mattr
28.06.2006, 21:38
tausend dank jinx!!