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

Formelhillfe

Formelhillfe
15.06.2005 14:00:36
Stephi
Hallo Zusammen,
ich bräuchte Hilfe bei ner Formel. Ich steh grad auf der Leitung und komm nicht drauf.
Ich möchte eine Excel-Auswertung nach Ländern sortieren und automatisch in extra Tabellenblätter übernehmen lassen.
Das heißt die Project-Infos (siehe Bespiel: https://www.herber.de/bbs/user/23896.xls)
sollen automatisch in die hinteren Tabellenblätter übernommen werden. In "Wirklichkeit" ist die Liste wesentlich umfangreicher. Bis jetz habe ich das immer mit dem Filter und Copy 'n Paste gemacht möchte aber gern eine "schönere" Lösung.
Mir ist spontan (s)verweis und wenn-dann ein, komm aber nicht drauf wie ich das am besten umsetzte...! Kann mir jemand bitte einen Tipp geben?
Vielen Dank und sonnige Grüße
Stephi

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

Betreff
Datum
Anwender
Anzeige
AW: Formelhillfe
15.06.2005 15:45:03
GerdZ
Hallo Stephi,
eine Formelhilfe kann ich Dir leider nicht geben. Ich würde das mit VBA machen.
Unten stehendes Makro geht die Spalte A der Liste durch und überprüft, ob es bereits ein Blatt mit dem Landnamen gibt. Wenn nicht, wird das Blatt angelegt und alle Daten dieses Landes mit Spezialfilter in das neue Blatt kopiert.
Option Explicit
Sub Makro1()
Dim Zelle As Range, land As String
Sheets("Übersicht").Select
For Each Zelle In Range([A2], Cells([A65536].End(xlUp).Row, 1))
land = Zelle.Value
If Not SheetExists(land) Then
Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = land
Range("A1:A2") = WorksheetFunction.Transpose(Array("Land", land))
Sheets("Übersicht").Range("A1:D12").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets(land).Range("A1:A2"), _
CopyToRange:=Sheets(land).Range("A3"), Unique:=False
Sheets(land).Rows("1:2").EntireRow.Delete
End If
Next
End Sub
Public Function SheetExists(blattname As String) As Boolean
Dim x As Long
On Error Resume Next
x = Sheets(blattname).Index
If Err Then SheetExists = False Else SheetExists = True
On Error GoTo 0
End Function
Gruß
Gerd
Anzeige
Vielen Dank!!
15.06.2005 17:14:54
Stephi
Ich werde beide Lösungen ausprobieren und mich dann für eine entscheiden...!
Schönen Tag noch!!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige