Thema: Übertragen von Daten in neue Mappe und Sortieren in Excel


Seite durchsuchen:
Home


zurück zur Übersicht

Diskussionsgruppe: Tabellenkalkulation

Hallöchen zusammen.

Habe da folgendes Problem, bei dem ihr mir hoffentlich weiterhelfen könnt.
Zunächst zum Aufbau des Programms in Excel. In der Mappe 1 stehen alle verfügbaren Daten (Basisliste) z.B. Namen in Spalte B, Nachnamen in Spalte C, Geburtsdaten in Spalte D, u.s.w.. Dort ist ebenfalls ein "Arbeitsfeld" (Spalte A) vorangestellt.
Nun möchte ich, dass die komplette Zeile (d.h. z.B. B1 bis G1, also Name, Nachname, Geburtsdatum, u.s.w.) in eine neue Mappe (Mappe 2) übertragen wird, wenn ein bestimmter Wert (z.B. ein X oder ein Y oder ein Z) in das o.g. Arbeitsfeld der Basisliste eingegeben wird.
Diese neue Mappe soll die zuvor übertragenen Werte (Name, Nachname, u.s.w.) auch sortieren.
Ich hoffe ihr könnt mir dort weiterhelfen, verzweifle nämlich langsam.
Vielen Dank schon mal.
Gruß
Kai

Von: Flieger79 Datum: 06.05.2007, 12:19

alle Antworten zu dieser Frage




Antwort 1 von fedjo vom 06.05.2007, 12:40
Hallo Kai,
Zitat:
in eine neue Mappe (Mappe 2

muss es eine neue Mappe sein oder reicht auch eine neue Tabelle2?

Die neue Mappe müsste zum übertragen jedesmal geöffnet werden.

Gruß
fedjo

Antwort 2 von Flieger79 vom 06.05.2007, 13:33
Ja, es müsste schon eine neue Mappe sein. Mir ist auch klar, dass diese dann separat geöffnet werden müsse.

Antwort 3 von fedjo vom 10.05.2007, 17:32
Hallo Kai,
war ein paar Tage im Urlaub, kann mich daher erst jetzt wieder mit deinem Problem beschäftigen.

Werden eine Mustertabelle erstellen.

Gruß
fedjo

Antwort 4 von fedjo vom 11.05.2007, 09:46
Hallo Kai,
in das Codefenster von Mappe1.xls einfügen:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zfrei As Long
If Target.Column = 1 And Cells(Target.Row, Target.Column) = "x" Then
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:\Eigene Dateien\Mappe2.xls" 'Pfad anpassen!
Zfrei = Sheets(1).Cells(65536, 1).End(xlUp).Row + 1
Workbooks("Mappe2.xls").Worksheets(1).Range("A" & Zfrei & ":F" & Zfrei) = _
Workbooks("Mappe1.xls").Worksheets(1).Range("A" & Target.Row & ":F" & Target.Row).Value2
End If
End Sub

Durch das einfügen vom einem (x) Mappe1.xls in SpalteA wird Mappe2.xls geöffnet und die ganze Zeile übertragen.
Pfad für Mappe2.xls im Code anpassen.

in das Codefenster von Mappe2.xls einfügen:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RaZelle As Range
For Each RaZelle In Range(Target.Address)
If RaZelle.Column = 2 Then
ActiveSheet.UsedRange.Sort Key1:=Range("B1"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
Exit For
End If
Next RaZelle
ActiveWorkbook.Save
Windows("Mappe1.xls").Activate
End Sub

Mappe2.xls wird automatisch sorrtiert durch die Einträge in SpalteB und gespeichert.

Gruß
fedjo

Antwort 5 von Flieger79 vom 11.05.2007, 19:33
Hallo fedjo,

vielen Dank schon mal für deine Unterstützung. Werde das die Tage mal ausprobieren.

Gruß
Kai

Antworten der Gruppe: Tabellenkalkulation
www.supportnet.de







Office 365 stellt vertraute Microsoft Office-Tools für die Zusammenarbeit und Produktivität über die Cloud bereit. So können alle ganz einfach von nahezu überall zusammenarbeiten und auf E-Mails, Webkonferenzen, Dokumente und Kalender zugreifen.