Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sverweis Zeile in nächste leere Zeile kopieren

Sverweis Zeile in nächste leere Zeile kopieren
kstorz
Hallo liebe Profis!
Ich habe mal wieder ein Problem bei dem ich Euere Hilfe bräuchte.
Es gibt zwar eine Unmenge an Antworten dazu, jedoch sind die recht verwirrend, vielleicht deshalb, weil es nicht mein Problem betrifft!?
Ich habe eine Tabelle (Personen) in der diverse Personen (mit Adresse etc.) stehen. Diese lasse ich mir per sverweis in einer anderen Tabelle (Ergebnis) in einer Zeile anzeigen.
Jetzt möchte ich diese Zeile nach einem klick auf einem Button in die nächste leere Zeile kopieren lassen, auch wenn es sich um die gleichen Angaben handeln würde.
Da ich mich mit VBA kaum auskenne, möchte ich Euch bei den Antworten bitten, diese etwas genauer zu erklären.
Für Euere Hilfe besten Dank im Voraus!
Viele Grüße
Klaus
AW: Sverweis Zeile in nächste leere Zeile kopieren
31.10.2011 19:13:22
fcs
Hallo Klaus,
das nachfolgende Makro fügst du im VBA-Editor in ein allgemeines Modul der Datei ein - ggf. vorher neues Modul einfügen. Die Nr. der zu kopierenden Zeile im Code ggf. anpassen.
Im Tabellenblatt fügst du eine Schaltfläche aus der Symbolleiste "Formular" oder "Formular Steuerelemente" ein. Schaltfläche sollte nicht mit der zu kopierenden Zeile überlappen. Der Schaltfläche weist du das Makro zu.
Gruß
Franz
Sub Zeile_Kopieren()
Dim wks As Worksheet
Dim ZeileZ As Long
Const ZeileCopy As Long = 2 'zu kopierende Zeile
Set wks = Worksheets("Ergebnis")
With wks
'Nächste freie Zeile in Spalte A (1)
ZeileZ = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
'Zeile in Zielzeile kopieren
.Rows(ZeileCopy).Copy Destination:=.Rows(ZeileZ)
End With
End Sub

Anzeige
AW: Sverweis Zeile in nächste leere Zeile kopieren
31.10.2011 19:16:22
Matthias
Hallo
Ich hab Dir mal ein kleines Beispiel erstellt.
Die Details stehen in der Datei
https://www.herber.de/bbs/user/77296.xls
Gruß Matthias
AW: Sverweis Zeile in nächste leere Zeile kopieren
31.10.2011 20:00:10
kstorz
Hallo Franz, hallo Matthias,
Vielen Dank für Euere schnellen Anworten!
@Franz
Ich habe den Code in ein Modul kopiert und die "ZeileCopy" auf 24 gesetzt., da in Tabelle "Auswertung" diese in Zeile 24 ist.
Leider geschieht aber nix ...
Hab ich da was falsch gemacht?
@Matthias
Ich habe den Code in ein Modul kopiert und die Daten geändert.
Bei mir wird aber dann leider nur die erste Zelle kopiert und übertragen.
Hier meine Daten. Vielleicht habt Ihr ja die Möglichkeit, mir den Code anzupassen!?
Tabelle: "Auswertung"
Zeile 24 (ab C24) die Auswertung der sverweis Abfrage
Tabelle: "Ergebnis"
ab A3 sollen die Daten kopiert werden
Herzlichen Dank für Euere Hilfe!
Viele Grüße
Klaus
Anzeige
AW: Sverweis Zeile in nächste leere Zeile kopieren
31.10.2011 20:43:23
fcs
Hallo Klaus,
Hab ich da was falsch gemacht?
Ja, in der Frage wichtige Informationen weggelassen. Von einem Blatt "Auswertung" ist da nirgends die Rede.
Gruß
Franz
Hier das angepasste Makro
Sub Zeile_Kopieren()
Dim wks As Worksheet
Dim ZeileZ As Long
Const ZeileCopy As Long = 24 'zu kopierende Zeile
Set wks = Worksheets("Ergebnis")
With wks
'Nächste freie Zeile in Spalte A (1)
ZeileZ = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
If ZeileZ 

AW: Sverweis Zeile in nächste leere Zeile kopieren
31.10.2011 20:52:04
kstorz
Hallo Franz!
Sorry, dass war keine Absicht!
Vielen Dank für die prompte Rückmeldung. Jetzt funktioniert es, aber leider wird immer nur in eine Zeile kopiert - jetzt im Moment gerade in Zeile 25.
Dürfte ich noch mal um eine Korektur bitten!?
Vielen Dank und Viele Grüße
Klaus
Anzeige
AW: Sverweis Zeile in nächste leere Zeile kopieren
01.11.2011 08:31:49
fcs
Hallo Klaus,
ein weiterer Fall von Informationsdefizit.
Woher soll ich den wissen, dass du aus dem Blatt "Auswertung" alle Zeilen ab Zeile 24 bis zum Ende der Liste ins Blatt "Ergebnis" kopieren willst?
Unvollstänge/Unklare Fragestellungen --> Nicht ganz die die gewünschte Lösung.
Gruß
Franz
Sub Zeile_Kopieren()
Dim wks As Worksheet
Dim ZeileZ As Long
Const ZeileCopy As Long = 24 '1. zu kopierende Zeile in "Auswertung"
Set wks = Worksheets("Ergebnis")
With wks
'Nächste freie Zeile in Spalte A (1)
ZeileZ = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
If ZeileZ 

Anzeige
AW: Sverweis Zeile in nächste leere Zeile kopieren
01.11.2011 13:02:38
kstorz
Hallo Franz!
Viiiielen Dank! Jetzt funktioniert es!
Es war natürlich keine Absicht Informationen zurück zu halten. Schließlich möchte ich ja eine Lösung haben und das ganze nicht zum Quiz machen. Daher kann ich mich nur entschuldigen und gelobe Besserung!
Gibt es eigentlich eine Möglichkeit, dass ganze zurück zu setzen. Das heisst, wenn eine gewisse Zeit um ist, dass ich die Zeilen (manuell oder durch einen Button) lösche und ab dann wieder die erste Zeile genutzt wird?
Für Deine großartige Hilfe Herzlichen Dank!
Viele Grüße
Klaus
AW: Sverweis Zeile in nächste leere Zeile kopieren
01.11.2011 16:05:06
kstorz
Nochmals Hallo an alle!
Franz hat mir dankenswerter Weise den Code kreiert.
Nachdem er zuerst funktioniert hat, ist es jetzt aus. Ich habe lediglich das Tabellenplatt "Ergebnis" in "Dienstplan" geändert und im Code angeglichen. Aber auch wenn ich das wieder ändere, wird nur die erste Zeile eingefügt und immer wiederholt in die gleiche Zeile kopiert.
In "Dienstplan" soll der Reihe nach (wenn eine Zeile belegt ist, dann die nächste) die Daten aus "Auswertung Zeile 24" kopiert werden.
Mittlerweile habe ich herausbekommen, dass die Zeilen ganz einfach durch löschen wieder "reaktiviert" werden können. Das hat sich also erledigt :-)
Da die Tabelle auch Leute benutzen die noch weniger Ahnung als ich haben, wäre vielleicht ein "zurück" Button für die letzte Aktion nicht schlecht.
Wenn jemand von Euch Lust und Zeit hat, würde ich mich riesig freuen, wenn er - oder natürlich auch sie - sich der Sache annehmen würde!
Ich hoffe, ich habe alle Daten angegeben. Außerdem habe ich die Mappe angehängt!

Die Datei https://www.herber.de/bbs/user/77303.xls wurde aus Datenschutzgründen gelöscht


Vielen Dank für Euere Hilfe und Viele Grüße
Klaus
Anzeige
Frage nochmal offen
01.11.2011 16:06:58
kstorz
Habe die Frage noch offen gestellt
ändere diese Zeile so:
01.11.2011 16:33:58
robert
ZeileZ = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
vorher:
ZeileZ = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
Gruß
robert
AW: ändere diese Zeile so:
01.11.2011 16:48:53
kstorz
Hallo Robert!
Supi - funktioniert!
Vielen Dank für die schnelle Antwort
Hast Du evtl. auch ne Lösung für einen Zurück-Button?
Viele Grüße
Klaus
beschreibe mal...
01.11.2011 17:14:51
robert
Hi,
..wie das ablaufen soll.
Wer löscht, wann soll gelöscht werden usw...
Gruß
robert
AW: beschreibe mal...
01.11.2011 17:24:42
kstorz
Hallo Robert!
Der Anwender trägt die Daten ein und mit dem Button "eintragen" überträgt er diese Daten in das Blatt "Dienstplan".
Wenn der Anwender jetzt merkt das er einen Fehler gemacht hat, soll er die Möglichkeit haben den letzten Eintrag zu löschen. Dabei soll nur die letzte Eingabe gelöscht werden können.
Wenn er mehr als die letzte Eingabe falsch eingegeben hat, dann muss er sich halt melden. Alles andere wäre wohl zu kompliziert.
Vielen Dank und Viele Grüße
Klaus
Anzeige
AW: ..teste mal das...
01.11.2011 17:45:41
kstorz
Hallo Robert!
Klasse!!!
Geht das irgendwie - ohne riesigen Aufwand - nur den letzten Eintrag?
Wenn nicht, dann ist es so auch schon super! Bitte dann kurze Info, damit die Frage geschlossen wird.
Vielen Dank!
Klaus
..versteh ich nicht...
01.11.2011 17:59:18
robert
Hi,
es wird doch der letzte Eintrag gelöscht-oder?
Oder was verstehst Du unter - letzter Eintrag- ?
zB. 5 Zeilen sind schon eingetragen, jetzt will er den letzten Eintrag löschen-
das passiert, daher noch 4 Einträge vorhanden-oder ?
Gruß
robert
Anzeige
AW: ..versteh ich nicht...
01.11.2011 18:04:06
kstorz
Hallo Robert!
Ja genau, dass passiert auch.
Wenn der Anwender aber nochmal drauf drückt, dann löscht er noch Mal eine und so weiter...
Bevor der Anwender nicht wieder auf "eintragen" drückt, soll nicht noch Mal gelöscht werden können.
Aber bevor das jetzt zu kompliziert wird, geht das so auch! Das ist schon viel besser, als wenn man dem Anwender sagen muss, wo er die (letzte) Zeile löschen muss. Eine Awrnung "Nur 1x drücken" sollte eigentlich ausreichend sein!
Also, nochmals Vielen Dank!
Klaus
AW: ..meinst Du so ?...
01.11.2011 18:28:08
kstorz
Hallo Robert!
Suuuuuuper!!!!!!!!!!!
Genau das was ich meinte! Echt klasse und Vielen Dank!!!
Viele Grüße
Klaus
Danke f.Rückmeldung ;-) owT
01.11.2011 18:39:19
robert
owT=ohne weitern Text

345 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige