Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
900to904
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
900to904
900to904
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Daten aus einer Tabelle in eine andere kopieren
04.09.2007 11:20:00
Manuel
Hallo,
Ich bräuchte ein Makro in einem Excel-File (https://www.herber.de/bbs/user/45668.xls), das ein anderes Excel-File (https://www.herber.de/bbs/user/45667.xls) öffnet, dort nach einem bestimmten Namen sucht, dann alle Zellen rechts von dem Suchbegriff kopiert (wenn in den Zellen etwas drin steht!) und die kopierten Werte dann in das Ausgangsfile (unter dem jeweiligen Tabellenblatt für den gesuchten Namen) in den gelb hinterlegten Bereich einfügt.
Ist so was überhaupt möglich?
Ich habe leider ganz schlechte VBA-Kenntnisse und bin da etwas überfordert…
Danke im Voraus und viele Grüße
Manuel

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus einer Tabelle in eine andere kopieren
04.09.2007 13:46:00
Daniel
Hi
ich gehe mal davon aus
- daß jeder Name in der Liste nur einmal vorkommt
- der gesuchte Name dem gerade aktiven Tabellenblattnamen entspricht
- immer die 12 Spalten der Monatswerte kopiert werden sollen.
dann gehts recht einfach mit diesem Code:

Sub Namen_kopieren()
Dim strName As String
strName = ActiveSheet.Name
Workbooks.Open "c:\deinPfad\deinDateiname.xls"
If WorksheetFunction.CountIf(ActiveWorkbook.Sheets("Sheet1").Columns(1), strName) = 0 Then
MsgBox "Name: " & strName & " nicht in Liste vorhanden!"
ActiveWorkbook.Close
Exit Sub
End If
With ActiveWorkbook.Sheets("Sheet1").Columns(1)
.Find(what:=strName, lookat:=xlWhole, LookIn:=xlValues).Offset(0, 1).Resize(1, 12).Copy
ThisWorkbook.Sheets(strName).Range("B3").PasteSpecial xlPasteAll
End With
Application.CutCopyMode = False
ActiveWorkbook.Close
End Sub


Gruß, Daniel

Anzeige
AW: Daten aus einer Tabelle in eine andere kopieren
04.09.2007 14:40:49
Manuel
Hi Daniel,
erstmal danke für die schnelle Hilfe!
Das funktioniert auch super, allerdings sollen nur die Zellen kopiert werden, die einen Inhalt haben.
Geht das ganze auch, wenn der Tabellenname nicht mit dem gesuchten Namen übereinstimmt? Wenn ja, wie...? ;-)
Danke und Gruß
Manuel

AW: Daten aus einer Tabelle in eine andere kopieren
04.09.2007 15:02:34
Daniel
Hi
was soll er denn machen, wenn er einen Namen nicht findet?
einfach einen zufälligen wählen?
zum erstem Punkt:
wie sehen denn die Daten aus? werdem sie von Hand eingegen und sind die Leerfelder wirklich leer (also auch keine Formeln drin?
dann gehts mit dieser kleinen Erweiterung:
.Find(what:=strName, lookat:=xlWhole, LookIn:=xlValues).Offset(0, 1).Resize(1, 12).SpecialCells(xlCellTypeConstants, 23).Copy
Gruß, Daniel

Anzeige
AW: Daten aus einer Tabelle in eine andere kopieren
04.09.2007 15:18:00
Manuel
Die Erweiterung ist genau das, wonach ich gesucht habe!! 1000 Dank!
Allerdings fragt er mich, ob die, durch das Makro geöffnete Datei, gespeichert werden soll...
Eigentlich sind die Tabellenblatt-Namen nur Abkürzungen von den gesuchten Namen (jeweils 1. Buchstabe von Vor- und Nachname).
Die gesuchten Namen sind aber auf jeden Fall alle in der Liste enthalten!
Deshalb meine Frage, ob das auch irgendwie anders geht...
Das Ausgabefenster, wenn der Name wirklich nicht enthalten sein sollte, eignet sich da super für...
Danke im Voraus und viele Grüße
Manuel

Anzeige
AW: Daten aus einer Tabelle in eine andere kopieren
04.09.2007 15:23:40
Daniel
Hi
du könntest den Namen über eine Inputbox abfragen.
strName = Inputbox("Bitte Namen eingeben")
allerdings brauchst du dafür ne 2. Variable, weil ich die erste variable brauche, um nach dem Öffnen der Datei wieder das ursprungliche Sheet zu öffnen.
allerdings könnte dann der Anwender auch nen Namen eingeben der nicht zum Sheet passt, das ganze ist also nicht ganz sicher
Gruß, Daniel

AW: Daten aus einer Tabelle in eine andere kopieren
04.09.2007 16:24:00
Manuel
Hi,
gibt es vielleicht auch die Möglichkeit, dass alles automatisch abläuft?
Sprich, ich drück auf einen Knopf und dann werden alle Tabellenblätter mit den jeweiligen Daten befüllt?
Wieso kommt eigentlich ein "Speichern unter..." Fenster, seitdem ich das Makro mit dem Ergänzung von vorhin - ".SpecialCells(xlCellTypeConstants, 23)" - laufen lasse? Kann man das wieder abschalten?
Danke und Gruß
Manuel

Anzeige
AW: Daten aus einer Tabelle in eine andere kopieren
04.09.2007 16:41:24
Daniel
Hi
um es ganz automatisch ablaufen zu lassen, brauchst du eine Tabelle, wo die Namen mit den Sheetnamen auf gelistet sind.
die könnte man dann in einer Schleife durcharbeiten.
oder der Richtige Name steht in jedem Sheet immer an der gleichen Stelle, dann könnte man ihn dort abfragen und um das ganze eine
For each sh in thisworkbook.worksheets ...NEXT - Schleife
einbetten.
das Speichern unterbindet man am besten, in dem man es beim Schließen der Datei mit angibt:

Activeworkbook.close savechanges:=false


Gruß, Daniel

Anzeige
AW: Daten aus einer Tabelle in eine andere kopieren
05.09.2007 09:25:37
Manuel
Wenn zwischen den zu kopierenden Zellen noch versteckte Spalten liegen, wie kann ich dann verhindern, dass diese auch mitkopiert werden?

AW: Daten aus einer Tabelle in eine andere kopieren
05.09.2007 20:30:19
Daniel
Hi
durch den Zusatz .Specialcells(xlCellTypeVisible).
Gruß, Daniel

AW: Daten aus einer Tabelle in eine andere kopieren
06.09.2007 08:44:00
Manuel
1000 Dank! Das war genau das, was ich gesucht habe!
Nochmal Danke für deine Bemühungen!
Viele Grüße
Manuel

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige