Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1712to1716
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
Werte aus unterschiedlichen Spalten einfügen
23.09.2019 13:47:29
Flip
Mahlzeit in die Runde!
Ich hätte wiedermal ein wahrscheinlich recht simples Problem. Jedoch komme ich nicht auf die Lösung drauf.
Ich hab eine Datei wo ich mit
Application.Intersect(Selection.EntireRow, Range("B:C,J:J,Z:Z")).Copy
Werte aus verschiedenen Spalten der angewählten Zeile kopiere.
Wie sieht jetzt das Gegenstück dazu aus? ich möchte die Werte in einem anderen Tabellenblatt in einer angewählten Zeile in (A:B,K:K,M:M) einfügen.
Oder gibt es da überhaupt eine elegantere Lösung mit der Übertragung?
Vielen Dank!! LG

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte aus unterschiedlichen Spalten einfügen
24.09.2019 14:57:36
fcs
Hallo Flip,
das Einfügen eines zu kopierenden Bereichs aus mehren Spalten in unterschiedliche Spalten ist leider nicht so einfach.
Man muss die selektierten Spaltenbereiche einzeln Kopieren in die Zielzellen.
Kann etwa wie folgt aussehen.
LG
Franz
Sub Copy_Selection_BC_J_Z_to_AB_K_M()
Dim wksZiel As Worksheet
Dim rngSelection As Range, rngArea
Dim iCount As Integer
Dim arrZiel
Dim rowZiel As Long, rngZiel As Range
On Error GoTo Beenden
Set wksZiel = Worksheets(2) 'Worksheets("Tabelle2")
Set rngSelection = Application.Intersect(Selection.EntireRow, Range("B:C,J:J,Z:Z"))
arrZiel = Array("A", "K", "M")
wksZiel.Activate
Set rngZiel = Application.InputBox("Bitte Zelle in Einfügezeile auswählen", "Kopieren  _
Spezial", ActiveCell.Address, Type:=8)
rowZiel = rngZiel.Row
For Each rngArea In rngSelection.Areas
rngArea.Copy wksZiel.Range(arrZiel(iCount) & rowZiel)
iCount = iCount + 1
Next
Range("A" & rowZiel).Select
Beenden:
End Sub

Anzeige
AW: Werte aus unterschiedlichen Spalten einfügen
24.09.2019 15:10:32
Pierre
Hallo,
vielleicht kannst du damit schon mal etwas anfangen.
Das Problem ist bei dir, dass du die Zeile nicht komplett kopierst und die Zielzellen am Ende auch noch andere werden sollen. Zudem verschiebt sich der Abstand der letzten Spalte auch noch.
Macht die Sache an sich halt schwieriger.
Vielleicht findet jemand noch eine passende Lösung, ich bin dazu leider nicht in der Lage, wie ich feststellen musste.
Ich habe versucht, das über Inputboxen zu lösen, so dass man also in Tabelle 1 die Zeilennummer angibt, die man kopieren will und in Tabelle 2 die Nummer, in welche das ganze eingefügt werden soll.
So als Anstoß vielleicht.
Jedenfalls, folgender Code fragt dich via Inputbox nach der Zeilennummer (ich habe in Spalte A eine Hilfsspalte eingefügt, wo ich einfach die Nummerierung eingefügt habe, Spalte A wird im Code durchsucht.)
Private Sub Worksheet_Activate()
'Sucht die laufende Nummer und überträgt die Kundendaten in das Blatt "Bericht"
Dim Eingabe As String
Dim Suche As Range
Dim Quelle As Worksheet, Ziel As Worksheet
Dim zelleE
Set Quelle = Sheets("Tabelle1")
Set Ziel = Sheets("Tabelle2")
Eingabe = InputBox("Bitte die gewünschte Lfd. Nr. eingeben", "Befunddatenblatt bearbeiten")
Set Suche = Quelle.Range("A1:A10000").Find(what:=Eingabe, LookIn:=xlValues, lookat:=xlWhole) _
If Not Suche Is Nothing Then
With Ziel
.Range("A1") = Quelle.Cells(Suche.Row, "B")
.Range("B1") = Quelle.Cells(Suche.Row, "C")
.Range("K1") = Quelle.Cells(Suche.Row, "J")
.Range("M1") = Quelle.Cells(Suche.Row, "Z")
End With
Else
MsgBox "Es wurde kein Treffer gefunden"
End If
End Sub
Ist wie gesagt alles nur ein Ansatz bzw. Gedankenanstoß für dich.
Ach ja...Derzeit wird eine Zeile in tabelle2 Zeile 1 eingefügt und diese wird jedes Mal überschrieben, leider schaffe ich es auch nicht so recht, dass wenigstens immer die nächste freie Zeile genommen wird.
Gruß Pierre
PS: Den Code habe ich in der Grundform von folgender Seite: https://www.ms-office-forum.net/forum/showthread.php?t=360490
Anzeige
AW: Werte aus unterschiedlichen Spalten einfügen
25.09.2019 08:59:10
Flip
Erstmal vielen Dank euch beiden.
Ok das ist dann doch komplexer als ich zu beginn dachte. Wollte das wirklich nur mit copy/paste lösen ohne Inputboxen usw.
Dann ist es wohl doch besser das ganze gleich mit einer direkten Verknüpfung zu machen und per Button ein File mit den benötigten werten zu erstellen.
Der Grundgedanke war das ich eine Werkzeugdatenbank habe wo pro Zeile von A:P Informationen für jedes Werkzeug stehen. Ich möchte dann einen Leihbeleg für diverse Werkzeuge drucken. benötige aber im Leihbeleg nur die Infos aus B:C,J:J,Z:Z und diese müssen in A:B,K:K,M:M im anderen File eingetragen werden. die erste Zeile im neuen File ist immer 17.
Jetzt wäre halt interessant wenn man mehrere Werkzeuge in einen Leihbeleg übertragen möchte ob man dies über Checkboxen oder Inputboxen löst. Man müsste dann halt immer die erste freie Zeile wählen.
Ich werde mich mal auf die Suche begeben ob ich hier und da Codeschnipsel finden werde.
Trotzdem vielen Dank dafür. LG
Anzeige
AW: Werte aus unterschiedlichen Spalten einfügen
25.09.2019 09:15:36
Flip
Müsste dann eigentlich keine Eigenständige Datei sein sondern könnte eigentlich den Leihbeleg auch als weiteres Tabellenblatt in der Datenbank anlegen und mit Verweisen arbeiten. Wenn ich zb mehrere Zeilen mittels Checkboxen in der Datenbank anwähle das die benötigten Werte dann aufs Tabellenblatt "Leihbeleg" in die benötigten freien Zellen eingetragen werden sofern sich in der Datenbank etwas befindet. SVERWEIS geht aber nicht da ich die Zellen im Leihbeleg immer noch selber bearbeiten können muss.
AW: Werte aus unterschiedlichen Spalten einfügen
25.09.2019 11:33:28
fcs
Hallo Flip,
verwende in der Datenbank keine Checkboxen zum markieren der Datenzeilen, deren Inhalte ins Leihformular eingetragen werden sollen.
Einfach für die Verarbeitung ist einfach ein "X" - dies kann man zB. per Doppelklick oder Rechte-Mausklick in die Zellen erzeugen/löschen.
Folgenden per Makros unterstützten Ablauf kann man dann einrichten.
1. Leihformular leeren und aktuelles Dtaum eintragen (Per Makro-Schaltfläche)
2. Leihformular teilweise ausfüllen (Name entleiher etc)
3. In Datenbank die Geräte in einer Spalte mit "X" markieren, die entliehen werden.
4. Daten aus Datenbank in Leihformular übertragen, Leihdatum und Entleiher etc in Datenbank eintragen, "X" wieder löschen (per Makro Schaltfläche)
5. ggf. weitere Daten im Leihformular eintragen
6. Leihformular als PDF oder Excel-Datei speichern und Drucken (ggf. mehrfach). (per Makro-Schaltfläche)
7. Leihformular mit Geräten an Kunde übergeben und Kopie in Akte ablegen/archivieren.
LG
Franz
Anzeige
AW: Werte aus unterschiedlichen Spalten einfügen
26.09.2019 09:55:28
Flip
Hallo Franz!
Wow Super vielen Dank für die Tipps und Ideen!
Das ist eigentlich der perfekte Ablauf wie ich mir das vorstelle! Genauso soll es sein mit den unterschiedlichen Befehlen und Möglichkeiten.
Nur reichen meine VBA Kenntnisse nichtmal ansatzweise für diese Herausforderung aus. ich kann nur schauen ob ich mir da teilweise was aus dem Forum rausziehen kann.
LG

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige