Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
moepy
Newbie
Newbie

Anmeldedatum: 13.07.2010
Beiträge: 4

Sortierung von Tabellenwerten (Ranking)
Verfasst am: 16.07.2010, 11:02

Hallo!


Ich bin neu hier und hätte mal ne Frage zu ner Sortierung mit VBA.
Und zwar soll ich ein Programm schreiben welches verschiedene Umsätze einem Ranking unterzieht.

Hier mal die Aufgabenstellung:

In einer Tabelle sollen Umsätze einem Ranking unterzogen werden. Es soll dem höchsten Umsatz eine 1 zugeordnet werden, usw.

Anhand dieser Aufgabe erstellen Sie folgende Lösungen:

- In einer Tabelle sind die Spalten A und B (A=Name des Mitarbeiters, B=Umsatz des jeweiligen Mitarbeiters) gegeben. Geben Sie die Rankingzahlen in Spalte C aus.

- Schreiben Sie ein Makro welches das aktuelle Ranking wieder löscht, um neue Daten weiterer Mitarbeiter hinzuzufügen.


Soweit mal zur Aufgabenstellung. Ich habe mir überlegt die Daten aus der Spalte B (also die Umsätze) in ein Array zu schreiben welches dann sortiert wird und die jeweilige Positionierung in die jeweilige Zeile schreibt. (Er muss sich also merken welcher Wert wo steht). Er soll also NICHT den höchsten Wert nach oben schreiben, sondern die Umsätze in der Zelle belassen und nur in die Zelle dahinter den jeweiligen Rang des Umsatzes (1,2,3....) schreiben!

Leider klappt das bei mir überhaupt nicht, da ich schon Probleme habe das Array zu erstellen, da er in der Arraydefinition einen festen Wert haben will - der Wert ändert sich ja aber immer, da die Anzahl der Werte (=Anzahl der Mitarbeiter/Umsätze) nicht festgelegt ist.


Hab das mal soweit geschrieben:

----

Dim IntI As Integer
Dim IntPosition As Integer
Dim Werte()



Sub Einlesen()

Cells(Rows.Count, 2).End(xlUp).Select
IntPosition = ActiveCell.Row

'MsgBox (IntPosition)

Dim Werte(IntPosition - 1)

For IntI = 2 To IntPosition



End Sub


-----

Die Position der Werte liest er schonma richtig aus, das Array lässt sich so aber nicht definieren. Von der Sortierung mal ganz zu schweigen.

Gibt es vielleicht eine leichter Lösung anstatt eines Arrays?

Hoffe es kann mir jemand weiterhelfen!

Vielen Dank im Voraus!


Gruß Julian
 
moepy
Newbie
Newbie

Anmeldedatum: 13.07.2010
Beiträge: 4


Verfasst am: 16.07.2010, 11:02

so hab gestern noch mal versucht etwas weiter zu machen, er liest jetzt zumindest mal die werte ins array....jetzt ist die frage wie ich das sortieren lasse, am besten mit ner for schleife dachte ich?

Code:

Sub Einlesen()

'IntMerker = 0
Cells(Rows.Count, 2).End(xlUp).Select
IntAnzahl = ActiveCell.Row
ActiveCell.Offset(0, 1).Range("A1").Select

'MsgBox (IntAnzahl)

ReDim Werte(IntAnzahl - 1)


For IntI = 1 To IntAnzahl - 1

Werte(IntI) = ActiveSheet.Cells(IntI + 1, 2).Value
'MsgBox (Werte(IntI))

Next

End Sub
 
 
moepy
Newbie
Newbie

Anmeldedatum: 13.07.2010
Beiträge: 4


Verfasst am: 16.07.2010, 11:03

sooo...bin jetzt zumindest mal soweit, dass er mir das minimum rausfindet...aber so wirklich funktioniert das trotzdem noch nicht Sad

Code:
Option Explicit

Dim IntAnzahl As Integer
Dim Werte()
Dim IntI As Integer
Dim IntJ As Integer
Dim IntX As Integer
Dim IntMin As Integer




Sub Einlesen()

'IntMerker = 0
Cells(Rows.Count, 2).End(xlUp).Select
IntAnzahl = ActiveCell.Row
ActiveCell.Offset(0, 1).Range("A1").Select

'MsgBox (IntAnzahl)

ReDim Werte(IntAnzahl - 1)


For IntI = 1 To IntAnzahl - 1

Werte(IntI) = ActiveSheet.Cells(IntI + 1, 2).Value
'MsgBox (Werte(IntI))

Next

IntMin = Werte(1)


For IntJ = 1 To IntAnzahl - 1

 If Werte(IntJ) <= IntMin Then
 
  IntMin = Werte(IntJ)
  ActiveSheet.Cells(IntJ + 1, 3).Value = IntAnzahl - 1
   
 End If
 
Next

MsgBox (IntMin)
IntAnzahl = IntAnzahl - 1
MsgBox (IntAnzahl)

'Next


End Sub

 
moepy
Newbie
Newbie

Anmeldedatum: 13.07.2010
Beiträge: 4


Verfasst am: 18.07.2010, 19:15


niemand dabei der helfen kann? Sad
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: spalten, tabelle

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge [gelöst] String in Integer umwandeln klappt nicht (XML, ASP) 574 06.11.2011, 22:12
Keine neuen Beiträge [suche] Tuturials winsock & daten senden 983 09.06.2011, 13:19
Keine neuen Beiträge Ogame Login klappt nicht 1922 12.02.2008, 16:36
Keine neuen Beiträge VB daten kompilieren? 783 23.04.2007, 14:34
Keine neuen Beiträge Daten in einen Ordner schreiben 889 25.03.2007, 14:12
 


[ Time: 0.0660s ][ Queries: 89 (0.0250s) ][ GZIP on - Debug on ]