Informationen und Beispiele zum Thema InputBox | |
---|---|
![]() |
InputBox-Seite mit Beispielarbeitsmappe aufrufen |
Informationen und Beispiele zum Thema MsgBox | |
---|---|
![]() |
MsgBox-Seite mit Beispielarbeitsmappe aufrufen |
Informationen und Beispiele zum Thema Werkzeug | |
---|---|
![]() |
Werkzeug-Seite mit Beispielarbeitsmappe aufrufen |
Betrifft: Werte aus unterschiedlichen Spalten einfügen
von: Flip
Geschrieben am: 23.09.2019 13:47:29
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
Betrifft: AW: Werte aus unterschiedlichen Spalten einfügen
von: fcs
Geschrieben am: 24.09.2019 14:57:36
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
Betrifft: AW: Werte aus unterschiedlichen Spalten einfügen
von: Pierre
Geschrieben am: 24.09.2019 15:10:32
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 SubIst wie gesagt alles nur ein Ansatz bzw. Gedankenanstoß für dich.
Betrifft: AW: Werte aus unterschiedlichen Spalten einfügen
von: Flip
Geschrieben am: 25.09.2019 08:59:10
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
Betrifft: AW: Werte aus unterschiedlichen Spalten einfügen
von: Flip
Geschrieben am: 25.09.2019 09:15:36
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.
Betrifft: AW: Werte aus unterschiedlichen Spalten einfügen
von: fcs
Geschrieben am: 25.09.2019 11:33:28
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
Betrifft: AW: Werte aus unterschiedlichen Spalten einfügen
von: Flip
Geschrieben am: 26.09.2019 09:55:28
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
Betrifft: AW: Werte aus unterschiedlichen Spalten einfügen
von: Flip
Geschrieben am: 26.09.2019 11:01:24
Hier mal eine Testdatei
https://www.herber.de/bbs/user/132210.xls