Microsoft Excel

Herbers Excel/VBA-Archiv

Inhalte einfügen - Text - aus 2. Arbeitsmappe | Herbers Excel-Forum


Betrifft: Inhalte einfügen - Text - aus 2. Arbeitsmappe von: mb12
Geschrieben am: 04.08.2012 10:51:13

Hallo,

mein neuer Chef hat mit viel Arbeit eine Excel-"Vorlage" erstellt, besteht aus Kopfdaten wie Kunde, Datum usw.
Darunter 20 Zeilen zur Eingabe/Import von Daten aus Datenbank, die in einer 2. Datei auch im Excel-Format vorliegen.

Datei 2 hat aber mehr Spalten, die nur teilweise benötigt werden, also z.B. nur Spalten B-D, F, H-I
Auch in der "Vorlage" kommen diese Daten nur in Spalten A-C, E, G-H, Rest muss für spätere Eingaben leer bleiben.

Jetzt der Knaller: Die "Vorlage" ist liebevoll gestaltet mit Doppelrahmen usw.

Deshalb jedesmal: Bereiche markieren, Strg+C, Wechsel in andere Datei, 2x Rechtsklick - Inhalte einfügen - Text. Zum Verrücktwerden, nur damit die wertvolle Formatierung nicht verschwindet.

Dazu kommt, dass man manchmal pro Datei bis zu 200 Zeilen übertragen und die "Vorlage" deshalb erweitern muss.

Alles klar?

Was wäre eine echte Arbeitserleichterung, ohne dass Chef es merkt (zumindest jetzt in den ersten Wochen)?

Margarete :-(

  

Betrifft: AW: Inhalte einfügen - Text - aus 2. Arbeitsmappe von: Matze,Matthias
Geschrieben am: 04.08.2012 11:29:45

Hallo Margarete,

Datei 2 zu "teilweise" benötigt hab ich ne Rückfrage.
Ist Teilweise = 3Bereiche gemeint immer B-D , F, H-I oder sind die auch noch als getrennt zu sehen,
ich meine damit , das du da eventuell nur B u. H kopieren willst?

Und noch eine Frage, soll er dann wenn die Spalte ausgewählt ist immer Alle Zeilen kopieren?

Gruß Matze


  

Betrifft: AW: Inhalte einfügen - Text - aus 2. Arbeitsmappe von: mb12
Geschrieben am: 04.08.2012 12:03:05

Hallo Matze,

Vorgang 1: kopieren aller ausgefüllten Zeilen aus Spalten B-D, einfügen in Spalten A-C in Tabelle 2
Vorgang 2: kopieren aller ausgefüllten Zeilen aus Spalte F, einfügen in Spalte E in Tabelle 2
Vorgang 3: kopieren aller ausgefüllten Zeilen aus Spalten H-I, einfügen in Spalten G-H in Tabelle 2

Danke für die Nachfrage.


  

Betrifft: Benötige Hilfe, Ansatz gegeben,... von: Matze,Matthias
Geschrieben am: 04.08.2012 13:04:19

Hallo Margarete, Hallo @ All,
die Aufgabe ist doch etwas zu schwer für mich, mein Gedankengang lag in einer Doppelklicklösung,
des jeweiligen Copybereichs, aber ich weis nicht wie ich die Abfrage aufbauen soll.

Wenn doppelklick in B2 - copy Ber1 nach WksSheet ("Tabelle1", A2 )
Wenn doppelklick in F2 - copy Ber1 nach WksSheet ("Tabelle1", E2 )
Wenn doppelklick in H2 - copy Ber1 nach WksSheet ("Tabelle1", G2 )

hier meine Codeansatz:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim EndeS4 As Long
Dim EndeS6 As Long
Dim Endes8 As Long
Dim wkbVorlage As Workbook
Set wkbVorlage = Workbooks.Open("C:\Eigene Dateien\Vorlage.xlt") 'anpassen

EndeS4 = .Cells(Rows.Count, 4).End(xlUp).Row 'letze Zeile Spalte4
EndeS6 = .Cells(Rows.Count, 6).End(xlUp).Row 'letzte Zeile Spalte6
Endes8 = .Cells(Rows.Count, 9).End(xlUp).Row 'letzte Zeile Spalte9

Ber1 = Range(Cells(2, 2), Cells(EndeS4, 4)) 'Spalte 2-4 B-D
Ber2 = Range(Cells(2, 6), Cells(EndeS4, 6)) 'Spalte 6   F
Ber3 = Range(Cells(2, 8), Cells(EndeS4, 9)) 'Spalte 8-9 H-I

Tar1 = wbkVorlage.Sheets("Tabelle1").Range("A2").PasteSpecial(xlPasteValues) 'Tabelle1 anpassen
Tar2 = wbkVorlage.Sheets("Tabelle1").Range("E2").PasteSpecial(xlPasteValues) 'Tabelle1 anpassen
Tar3 = wbkVorlage.Sheets("Tabelle1").Range("G2").PasteSpecial(xlPasteValues) 'Tabelle1 anpassen

'Abfragen

End Sub
Gruß Matze


  

Betrifft: AW: Benötige Hilfe, Ansatz gegeben,... von: Matze,Matthias
Geschrieben am: 04.08.2012 13:17:54

Hier noch eine angefangene Musterdatei,... https://www.herber.de/bbs/user/81264.xlsm

im Code nur mit der selben Datei gearbeitet


  

Betrifft: AW: Benötige Hilfe, Ansatz gegeben,... von: mb12
Geschrieben am: 04.08.2012 13:39:39

Hallo Matze,
vielen Dank für dein Gehirnschmalz.
Eine perfekte Lösung wäre toll, ist aber nicht notwendig.
Weg 1: Makro: Inhalt von Datei 1 als Text in Datei 2 einfügen
Weg 2: Datei 2 so einstellen/formatieren/speichern, dass die Rahmen-Formatierung dieser "Vorlage" erhalten bleibt.

Eine Idee?


  

Betrifft: AW: Benötige Hilfe, Ansatz gegeben,... owT von: Matze,Matthias
Geschrieben am: 04.08.2012 15:08:15

.


  

Betrifft: AW: Benötige Hilfe, Ansatz gegeben,... owT von: mb12
Geschrieben am: 04.08.2012 18:36:50

Hallo Matze,

deine Antwort von 15:08 h war leider leer.....

noch ein Versuch?


  

Betrifft: @All -schaut mal bitte drüber,da stimmt was nicht von: Matze,Matthias
Geschrieben am: 05.08.2012 13:03:41

Hallo Margarete, (hatte Spätschicht)

Hallo @ All,
So hab jetzt 2 Dateien , die Beide geöffnet sein müssen um den Bereich der Quelldatei in die Zielmappe zu kopieren.
Code in Quellmappe :

Sub KopiereBereich()

Application.ScreenUpdating = False
Worksheets("Bearbeitung").Activate 
Range("B2", Cells.SpecialCells(xlLastCell)).Copy 'warum markiert der bis Spalte K??
Workbooks("Vorlage_orginal.xlsx").Activate

Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Er markiert den Bereich aber nicht richtig,was mache ich falsch?
Hier die Quelldatei Mustervorlage: https://www.herber.de/bbs/user/81267.xlsm
Hier die Zieldatei Mustervorlage : https://www.herber.de/bbs/user/81268.xlsx

Mir wäre lieb, wenn sich hier Jemand drum kümmern könnte.

Gruß Matze


  

Betrifft: AW: @All -schaut mal bitte drüber,da stimmt was nicht von: fcs
Geschrieben am: 05.08.2012 15:16:41

Hallo Margarete, Hall Matze,

Matze,

Range("B2", Cells.SpecialCells(xlLastCell))
bedeutet der Zellbereich von B2 bis zur letzten benutzen Zelle im Tabellenblatt.
Wenn man die letzte Zelle/Zeile mit Daten in einem Bereich ermitteln will, dann muss man das etws anders machen. Siehe nachfolgendes Makro-Beispiel.


Ich hab das ganze jetzt auch mal umgesetzt.
Vor Beginn des Makrostarts muss das Zieltabellenblatt aktiv sein. die Datei mit den zu kopierenden Daten kann man nach dem Starten des Makros in einem Dialog auswählen.

Ich habe folgende Variante von Matzes Datei als Vorlage benutzt.
https://www.herber.de/bbs/user/81274.xlsx

Das Makro für die daten aus der ausgewählten Datei ab Zeile 10 ein
Makro-Code in der Textdatei:
https://www.herber.de/bbs/user/81275.txt
Die verschiedenen Zeilennummer (EInfügezeile, Startzeile beim Kopieren etc) im Code muss du natürlich noch an die reale Vorlage anpassen.

Gruß
Franz


  

Betrifft: @Franz(fcs)... von: Matze,Matthias
Geschrieben am: 05.08.2012 18:02:51

Hallo Franz,
super umgesetzt, ich hoffe Margarete kommt damit klar.
Ich habe mir das jetzt schön abgespeichert um mir diese Lösungswege gut einzuprägen.

Gruß Matze


  

Betrifft: AW: @Franz(fcs)... von: mb12
Geschrieben am: 07.08.2012 17:50:47

Hallo Matze und Franz,

habt herzlichen Dank. Hab mir jetzt erst mal alles runtergeladen und Beispieldateien erstellt. Muss dann alles in Ruhe ausprobieren.

Wenn die Frage nicht mehr offen ist: kann ich euch per E-Mail erreichen, falls ich dann doch noch ein Problem haben sollte?

Beste Grüße, Margarete


  

Betrifft: AW: @Franz(fcs)... von: fcs
Geschrieben am: 08.08.2012 12:10:54

Hallo Margarete,

falls noch Fragen sind - e-mail ist unter folgendem Link zu finden:
https://www.herber.de/cgi-bin/profile/call_profile.pl?user=fcs

Gruß
Franz


Beiträge aus den Excel-Beispielen zum Thema "Inhalte einfügen - Text - aus 2. Arbeitsmappe"