Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
652to656
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
652to656
652to656
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datensetze generieren

Datensetze generieren
17.08.2005 18:20:31
Tordenskjold
Wie kann ich aus bestehenden aggregierten Daten die zugrundeliegenden Datensätze generieren?
Ich habe eine Datei, in der die Gesamtzahlen von Befragten zu einer Antwort mit Ihrer Zustimmung (7) oder Ablehnung (1) dargestellt sind. Für statistische auswertungen will ich jetzt die individuellen Datensätze generieren (für jeden Befragten einen).
Beispiel:

Die Datei https://www.herber.de/bbs/user/25756.xls wurde aus Datenschutzgründen gelöscht

Schonmal vielen Dank im Voraus!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datensätze generieren
18.08.2005 01:38:59
Herbert H.
hallo Tordenskjold,
probier das einmal...


Option Explicit
Sub erst()
Dim i%, x%, s%, ez%, s1 As Byte
s = 2: ez = 13: i = 4: s1 = 2
[b13:d32].ClearContents
Do Until s1 = 5
Do Until ez = 31
  Cells(ez, s1) = Cells(3, s)
  x = WorksheetFunction.CountIf(Range(Cells(13, s1), _
                          Cells(35, s1)), Cells(3, s))
    If x = Cells(i, s) Then s = s + 1
    If Cells(i, s) = "" And _
       Cells(3, s) = Cells(ez, s) Then
        Cells(ez, s1) = ""
        s = s + 1
        ez = ez - 1
    End If
    ez = ez + 1
Loop
s = 2: ez = 13
i = i + 1
s1 = s1 + 1
Loop
End Sub

     
https://www.herber.de/bbs/user/25771.xls
gruß Herbert
Anzeige
AW: Datensätze generieren
18.08.2005 14:12:48
Tordenskjold
Vielen Dank!
Frage zu dem VBA-Script: Welche Parameter muss ich ändern, wenn ich n Befragte und 112 Antworten/Fragen habe?

Die Datei https://www.herber.de/bbs/user/25795.xls wurde aus Datenschutzgründen gelöscht

AW: Datensätze generieren
18.08.2005 18:40:27
Tordenskjold
Kleiner Nachtrag: Es sind zwischen 30 und 50 Befragte.
AW: Datensätze generieren
18.08.2005 19:30:46
Herbert H.
ich hab es so gerichtet, daß du nichts mehr ändern mußt,
es sei den,auf Tabelle2 werden mehr als 100 Zeilen erreicht...
da brauchst du im Makro nur die Zahl 100 erhöhen...


Option Explicit
Sub Tab_erstellen()
Dim shQ As Worksheet, shZ As Worksheet
Set shQ = Sheets("Tabelle1")
Set shZ = Sheets("Tabelle2")
Dim i%, x%, s%, ez&, s1%
s = 2: ez = 2: i = 2: s1 = 2
On Error Resume Next
Application.ScreenUpdating = False
shZ.[b2:ez100].ClearContents
Do Until i = shQ.Cells(Rows.Count, 1).End(xlUp).Row + 1
Do While ez < shQ.[i2] + 2
  shZ.Cells(ez, s1) = shQ.Cells(1, s)
  x = WorksheetFunction.CountIf(shZ.Range(shZ.Cells(2, s1), _
                          shZ.Cells(100, s1)), shQ.Cells(1, s))
    If x = shQ.Cells(i, s) Then s = s + 1
    If shQ.Cells(i, s) = "" And _
       shQ.Cells(1, s) = shZ.Cells(ez, s) Then
        shZ.Cells(ez, s1) = ""
        s = s + 1
        ez = ez - 1
    End If
    ez = ez + 1
Loop
s = 2: ez = 2
i = i + 1
s1 = s1 + 1
Loop
Application.ScreenUpdating = True
End Sub

     
https://www.herber.de/bbs/user/25812.xls
gruß Herbert
Anzeige
AW: Datensätze generieren
19.08.2005 10:32:25
Tordenskjold
Ja, vielen Dank nochmal! Das neue Script läuft perfekt!
(Ich muss definitiv VBA lernen.)
AW: Datensätze generieren
19.08.2005 11:33:47
Herbert H.
eine kleine Änderung solltest du noch vornehmen:


diese Codezeile:
Do While ez < shQ.[i2] + 2
mit dieser ersetzen:
Do While ez < shQ.Cells(i, 9) + 2

     wenn du nämlich in Spalte I unterschiedliche Summen haben würdest,
würde es nicht korrekt funktionieren...
gruß Herbert
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige