Thema Datum  Von Nutzer Rating
Antwort
11.08.2008 23:00:06 weserich
NotSolved
12.08.2008 14:53:32 Holger
NotSolved
13.08.2008 18:09:37 Weserich
NotSolved
Blau Aw:Aw:Aw:neue Tabelle aus vorhandener Tabelle erst
14.08.2008 10:31:06 Holger
NotSolved
14.08.2008 10:33:13 Holger
NotSolved
14.08.2008 10:35:20 Holger
NotSolved
14.08.2008 10:37:20 Holger
NotSolved
14.08.2008 10:38:51 Holger
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
14.08.2008 10:31:06
Views:
969
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Aw:neue Tabelle aus vorhandener Tabelle erst
Hallo Weserich
irgendwie kommen immer wieder Unterschlagungen von Programmteilen vor, wenn ich ein Makro in dieses Forum stelle. Ich weiß nicht, woran es liegt. Ich kann dies erst nach dem Absenden kontrollieren. Falls wieder Fehler auftreten, mache ich aus der Sendung mehrere Teilsendungen, die du zusammenführen musst.
Sub Test_Kostenstellen()
Dim b(), c()
a = ActiveSheet.Name
gef = False
For Each ws In Worksheets
If "Tabelle2" = ws.Name Then
gef = True
Worksheets("Tabelle2").Cells.Clear
Exit For
End If
Next
If gef = False Then
Set NewSheet = Worksheets.Add
ActiveSheet.Name = "Tabelle2"
End If
Worksheets(a).Activate
lz = Cells(Rows.Count, 1).End(xlUp).Row
ReDim b(lz), c(0)
For i = 1 To lz
b(i) = Cells(i, 1)
Next i
For k = 0 To lz - 1
For i = k + 1 To lz
If b(i) b(i) Then
d = d + 1
ReDim Preserve c(d)
c(d) = b(i)
End If
Next i
For i = 1 To d
lz2 = Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row
If lz2 <> 1 Then lz2 = lz2 + 1
Worksheets("Tabelle2").Cells(lz2, 1) = c(i)
For j = 1 To lz
If Cells(j, 1) = c(i) Then
lz2 = lz2 + 1
Worksheets("Tabelle2").Cells(lz2, 1) = Cells(j, 3)
End If
Next j
Next i
Worksheets("Tabelle2").Activate
End Sub

Gruß
Holger


Weserich schrieb am 13.08.2008 18:09:37:

Hallo Holger,

vielen Dank für deine Lösung.
Leider gibt es bei der letzten for...next schleife ein problem.
VB führt den code nicht aus, weil ihm das"next" fehlt.
Ganz einleuchten tut mir diese Fehlermeldung nicht, weil ja die next Anweisung am ende vorliegt.

Was kann ich tun?




Holger schrieb am 12.08.2008 14:53:32:

Hallo weserich,
ich nehme an, das Ziel Tabellenblatt soll "Tabelle2" heißen. Wenn es nicht existiert, soll es erzeugt werden. Wenn es existiert, sollen die alten Werte vor dem Einfügen der neuen Werte gelöscht werden.

Sub Test_Kostenstellen()
Dim b(), c()
a = ActiveSheet.Name
gef = False
For Each ws In Worksheets
If "Tabelle2" = ws.Name Then
gef = True
Worksheets("Tabelle2").Cells.Clear
Exit For
End If
Next
If gef = False Then
Set NewSheet = Worksheets.Add
ActiveSheet.Name = "Tabelle2"
End If
Worksheets(a).Activate
lz = Cells(Rows.Count, 1).End(xlUp).Row
ReDim b(lz), c(0)
For i = 1 To lz
b(i) = Cells(i, 1)
Next i
For k = 0 To lz - 1
For i = k + 1 To lz
If b(i) b(i) Then
d = d + 1
ReDim Preserve c(d)
c(d) = b(i)
End If
Next i
For i = 1 To d
lz2 = Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row
If lz2 <> 1 Then lz2 = lz2 + 1
Worksheets("Tabelle2").Cells(lz2, 1) = c(i)
For j = 1 To lz
If Cells(j, 1) = c(i) Then
lz2 = lz2 + 1
Worksheets("Tabelle2").Cells(lz2, 1) = Cells(j, 3)
End If
Next j
Next i
Worksheets("Tabelle2").Activate
End Sub

Gruß
Holger



weserich schrieb am 11.08.2008 23:00:06:

Hallo.
Habe ein kleines Excel Problem und weiß absolut nicht weiter.

Ich habe ein Tabellenblatt(1), indem in der Spalte A diverse Kostenstellen stehen (es kommen auch öfters die gleichen Kostenstellen vor). In Spalte B stehen Abteilungsnamen und in Spalte C diverse andere Inforamtionen.

Wie bringe ich Excel dazu, dass mir in einem zweiten Tabellenblatt(2)

-a- die Kostenstellen in nummerischer Reihenfolge angezeigt werden und keine doppelten Kostenstellen vorkommen

-b- zwischen den Kostenstellen die jeweiligen Informationen aus Spalte C untereinander aufgelistet werden?

Beispiel:

Zelle A1 - Kostenstelle 11 342
Zelle A2 - Information A
Zelle A3 - Information B
Zelle A4 - Information C
Zelle A5 - Kostenstelle 11343
Zelle A6 - Information A
Zelle A7 - Kostenstelle 11344
...usw.

Da gleiche Kostenstellen im Tabellenbaltt(1) unterschiedlich oft auftreten, muss Excel selber wissen, unter welcher Kostenstelle er die ganzen Informationen zusammenfasst.

Im oben genannten Beispeil kommt die Kostenstelle 11 342 im Tabellenbaltt (1) also 3mal vor und die Kostenstelle 11343 nur einmal.

Es wäre echt nett, wenn ihr einem relativem Anfänger in VBA hierbei weiterhelfen könntet.

Vielen Dank!!!

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
11.08.2008 23:00:06 weserich
NotSolved
12.08.2008 14:53:32 Holger
NotSolved
13.08.2008 18:09:37 Weserich
NotSolved
Blau Aw:Aw:Aw:neue Tabelle aus vorhandener Tabelle erst
14.08.2008 10:31:06 Holger
NotSolved
14.08.2008 10:33:13 Holger
NotSolved
14.08.2008 10:35:20 Holger
NotSolved
14.08.2008 10:37:20 Holger
NotSolved
14.08.2008 10:38:51 Holger
NotSolved