Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Makro, Platzierungen hochzählen





Frage

Hallo und schönes neues Jahr allerseits, mein (kleines) Problem ist folgendes: bei einem wöchentlich durchgeführten Wettbewerb bekommen die jeweils 4 Besten am Jahresende Prämien, diese Platzierungen müssen also übers Jahr hochgezählt werden. Ich hätte gerne ein Makro, das von K 11 : K50 prüft, ist der Wert kleiner 5, dann um diesen Wert Spalten nach rechts, den Wert dort lesen und um eins erhöhen. Die Zielspalten sind also L, M, N, O. mfg und schon mal im Voraus vielen Dank woher

Antwort 1 von coros

Moin woher,

hier mal ein Lösungsvorschlag von mir. Kopiere das nachfolgende Makro in ein StandardModul.

Sub Plazierung_hochzählen()
Dim Wiederholungen As Integer, Spalte As Integer
For Wiederholungen = 11 To 50
If Cells(Wiederholungen, 11) < 5 Then
Spalte = Cells(Wiederholungen, 11)
Cells(Wiederholungen, 11 + Spalte) = _
Cells(Wiederholungen, 11 + Spalte) + 1
End If
Next
End Sub


Das Makro vergleicht durch die For/Next Schleife und die nachgeschaltete If Abfrage die Zellen K11:K50 ob der Wert kleiner der Zahl 5 ist. Ist das der Fall, wird der Wert aus der ermittelten Zelle ausgelesen und um die Zahl 1 erhöht.

Da Du in Deinem netten Beitrag an Aliba und mich davon gesprochen hast, dass Du in der Vergangenheit hier viele Beiträge gelesen hast, gehe ich mal davon aus, dass Du auch weißt, wie Du den Code in Deine Datei bekommst. Wenn nicht, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann Anleitung zum VBA Projekt “Modul" nach. Dort habe ich eine bebilderte Anleitung, die Dir dabei behilflich sein sollte.

Wenn Du dennoch Fragen oder Probleme hast, dann melde Dich.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von woher

Hallo coros,
vielen Dank für die prompte Antwort.
Das Makro funzt prima.
Aber, was macht folgende Anweisung?
Cells(Wiederholungen, 11 + Spalte) = _
mfg
woher

Antwort 3 von coros

Hi Woher,

weiter oben in dem Code wurde doch der Wert aus der Zelle in Spalte K ausgelesen und in die Variable Spalte geschrieben, da Du ja wolltest, dass entsprechend der Zahl die dort steht nach rechts gegangen wird. Nun erst einmal zur Aufklärung, was in der Anweisung für was steht:

Cells steht für Zelle

Wiederholung steht für die Zeilennummer

Die Zahl 11 sagt die Spalte aus, also K

Das bedeutet, wenn man das nun auf den Teil der Anweisung überträgt, die Du oben geschrieben hast,

Zelle(Zahl aus der Variablen Wiederholung für die Zeile, in Spalte K plus Zahl aus der Zelle in Spalte K)

Ich hoffe, Du hast es verstanden. Wenn nicht, dann schreib das ruhig, ich versuche es dann noch etwas einfacher zu erklären.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von woher

Hallo coros,

danke für die Erklärung, ich glaube jetzt verstehe ich die Anweisungen im Makro.

mfg

woher

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: