17033
Goto Top

Werte zählen, anschließend Werte und Anzahl in neuer Tabelle ausgeben

Office 2000 bzw 2003

Hallo!

Habe folgendes Problem: 18.900 Adressen (in Tabellenform) unterschiedliche Postleitzahlen.
Ich möchte wissen wieviele Adressen die PLZ 99999 haben, wieviele 99998, wieviele 99997 usw haben.

Mein Endziel wäre eine automatisch genierierte Liste die in etwa so aussieht:

PLZ Anzahl
99999 12
99998 16
99997 03

Könnte ihr mir hier weiter helfen?


Danke!


Martin

Content-Key: 38529

Url: https://administrator.de/contentid/38529

Ausgedruckt am: 29.03.2024 um 10:03 Uhr

Mitglied: Stefan764
Stefan764 22.08.2006 um 17:09:27 Uhr
Goto Top
Würde ich mit VBA machen, ungefähr so :

Private Sub CommandButton1_Click()
Dim a As Long
Dim b As Long
Dim PLZArray(0 To 99999) As Integer

For a = 1 To 99999
    PLZArray(a) = 0
Next

a = 1

While (Tabelle1.Cells(a, 1) <> "")  
    b = Tabelle1.Cells(a, 1)
    PLZArray(b) = PLZArray(b) + 1
    a = a + 1
Wend

Tabelle2.Range("A1:D32767").Clear  

b = 1

For a = 1 To 99999
    If PLZArray(a) > 0 Then
        Tabelle2.Cells(b, 1) = a
        Tabelle2.Cells(b, 2) = PLZArray(a)
        b = b + 1
    End If
Next

End Sub

Dabei stehen die Postleitzahlen in der ersten Spalte von Tabelle1.
Die Zählergebnisse werden in die 2.Tabelle eingetragen.
Der Inhalt der zweiten Tabelle wird vorher gelöscht !
Mitglied: 17033
17033 23.08.2006 um 07:06:50 Uhr
Goto Top
Hallo!


Vielen Dank für deine Hilfe! Das schaut ja schon hervorragend aus!

Leider bekomme ich immer wieder den Fehler "Laufzeitfehler 424, Objekt erforderlich".

Und zwar bei der Zeile in der die Tabelle2 gelöscht wird. Verzichte ich auf das Löschen, erhalte ich die Fehlermeldung sobald auf Tabelle2 zugegriffen wird (Tabell2.Cells(b, 1) =a).

Die Tabelle2 existiert natürlich.


Google bringt mich leider auch nicht weiter. face-sad


Gruß, Martin
Mitglied: szimmer
szimmer 23.08.2006 um 07:09:14 Uhr
Goto Top
Du kannst das ganze auch mit dem Abfrage-Editor unter Daten > Externe Daten machen, wie in einer Access Datenbank.
Mitglied: 17033
17033 23.08.2006 um 07:48:57 Uhr
Goto Top
Hallo!

Bin jetzt draufgekommen an was es gescheitert ist:

statt
Tabelle2.Range("A1:D32767").Clear

muss es

Worksheets("Tabelle2").Range("A1:D32767").Clear

lauten.


Dann klappts!


Vielen Dank für eure Hilfe!


Martin
Mitglied: 46010
46010 29.03.2007 um 01:15:23 Uhr
Goto Top
SQL> select count(nachname), vorname, telefon
2 from mitarbeiter
3 group by nachname, vorname, telefon;

sollte weiterhelfen...nach umbau.

gruss c