Anzeige
Archiv - Navigation
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
628to632
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Skript zur Datenauswertung für Tageszeitungen

Skript zur Datenauswertung für Tageszeitungen
28.06.2005 18:57:10
Ingo
Hallo liebe Excel-Experten,
vor einiger Zeit ist mir in diesem Forum bei einem Problem mit Visual Basic und Excel großartig geholfen worden. Jetzt habe ich wieder ein Problem. Vielleicht kennt jemand die Lösung.
Ich habe eine Datei mit einer Auswahl von 793 Untersuchungeinheiten (hier Lokalausgaben von deutschen Tageszeitungen). Nun soll mithilfe der Daten ausgewertet werden, in welchem Bundesland und welchem sog. Nielsen-Bereich die Ausgabe erscheint bzw. größtenteils erscheint. Zum Teil erscheinen die Ausgaben nämlich nur in einem Bundesland, zum Teil aber auch in mehreren. Die ersten 20 Datensätze habe ich in einer Datei auf den Server geladen.
https://www.herber.de/bbs/user/24287.xls
Spalte A der Datei enthält die Auswahl der Untersuchungseinheiten. Die Untersuchungseinheiten sind durch einen sechstelligen Code repräsentiert. In Spalte C ist eingetragen, in welchen deutschen Kreisen/kreisfreien Städten die Ausgaben erscheinen (txtKKZ). Ingesamt sind es 3913 Einträge, darunter sind auch Einträge für Ausgaben, die nicht Teil der Untersuchung sind. Die folgende Spalte enthält die Auflage der Ausgabe in dem entsprechenden Kreis. Die nächsten Spalten geben an, in welchem Bundesland bzw. Nielsen-Bereich der Kreis liegt.
Am Ende soll für jede der 793 Untersuchungseinheiten in Spalte A das Bundesland und der Nielsen-Bereich angegeben werden, in dem die Ausgabe ganz oder größtenteil erscheint. Die Bundesländer sind mit Zahlen von 1-16 nummiert, die Nielsen-Bereiche haben die Werte 1,2,3a,3b,4,5,6 und 7.
Das Skript soll nun überprüfen, welche Zellen in B$2:B$3914 mit der U-Einheit in A2:A794 übereinstimmen. In jenen Zeilen, in denen die Werte übereinstimmen, gibt es nun zwei Möglichkeiten:
1. Die Ausgabe erscheint nur in Kreisen aus demselben Bundesland (Nielsen-Bereich). Dann soll hinter der U-Einheit dieses Bundesland ausgegeben werden.
2. Die Ausgabe erscheint in zwei oder mehr Bundesländern (Nielsen-Bereichen). In diesem Fall soll das Skript die Auflage in den jeweiligen Bundesländer (Nielsen-Gebiete) addieren und jenes Bundesland (Nielsen-Bereich) bestimmen, in dem die summierte Auflage am höchsten ist. Dieses Bundesland (Nieslen-Bereich)soll dann hinter der U-Einheit ausgegeben werden.
Tja, klingt kompliziert und ist es vermutlich auch. Ich selbst habe kaum Kenntnisse in Visual Basic und benutze sonst den Makrorekorder.
Vielleicht kann mir jemand einen Tipp geben, wo die Lösung eines solchen Problems beschrieben oder ein entsprechendes Skript gepostet ist? Ich bin für jeden Rat dankbar. Ein fertiges Skript wäre natürlich die Krönung.
Vielen vielen Dank vorab!
Ingo Kohlschein

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Skript zur Datenauswertung für Tageszeitungen
28.06.2005 23:34:13
Herbert
hallo Ingo,
grundsätzlich ist es ja verrückt mit so einem Projekt hier
aufzutauchen...
noch dazu mit komischen unscharfen Spaltenbeschriftungen in der Tabelle,
keine Beschreibung in der Tabelle,so daß man x-mal zwischen Forum und
Tabelle hin und her wechseln muß, damit man sich überhaupt einmal auskennt..keine Darstellung in der Tabelle, wie das Endergebnis aussehen soll...
trotzdem habe ich versucht,Punkt 1 zu lösen...
vielleicht funktioniert es ja...


Sub x()
Dim i%, a%, lz%, x%, y%, b%
lz = Cells(Rows.Count, 2).End(xlUp).Row
a = 2
Application.ScreenUpdating = False
Do Until Cells(a, 1) = ""
   For i = 2 To lz
      If Cells(i, 2) = Cells(a, 1) Then
          x = Cells(i, 5).Value
      End If
      
      For b = 2 To lz
         If Cells(b, 2) = Cells(a, 1) And _
            Cells(b, 5) = x Then
            Cells(b, 7) = "x"
         End If
         If Cells(b, 2) = Cells(a, 1) And _
            Cells(b, 5) <> x Then
            Cells(b, 7) = "y"
         End If
        b = b + 1
      Next
   Next
   
   For y = 2 To lz
     If Cells(y, 7) = "y" Then Exit For
       If Cells(y, 7) = "x" Then
          Cells(a, 1) = Cells(a, 1) & "-" & x
        Exit For
     End If
   Next
    x = 0
    a = a + 1
  ActiveSheet.[g2:g20].ClearContents
Loop
Application.ScreenUpdating = True
End Sub

     gruß Herbert
Anzeige
AW: Skript zur Datenauswertung für Tageszeitungen
29.06.2005 10:17:22
Ingo
Hallo,
herzlichen Dank für die Antwort und das Skript. Es funktioniert ganz wunderbar. Es tut mir leid, wenn die Datei nicht so aufbereitet war, wie es für die Umsetzung in ein Skript richtig gewesen wäre. Im Vergleich zu den Experten hier bin ich leider ein hoffnungsloser Laie. Trotzdem nochmal herzlichen Dank!
Ingo Kohlschein
AW: Skript zur Datenauswertung für Tageszeitungen
29.06.2005 10:49:04
Ingo
Hallo,
herzlichen Dank für die Antwort und das Skript. Es funktioniert ganz wunderbar. Es tut mir leid, wenn die Datei nicht so aufbereitet war, wie es für die Umsetzung in ein Skript richtig gewesen wäre. Im Vergleich zu den Experten hier bin ich leider ein hoffnungsloser Laie. Trotzdem nochmal herzlichen Dank!
Ingo Kohlschein
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige