Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1732to1736
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
Inhaltsverzeichnis

Daten von einer Eingabemaske in ein anderes Worksheet übertragen, mit automatisch nächster Zelle

Daten von einer Eingabemaske in ein anderes Worksheet übertragen, mit automatisch nächster Zelle
07.01.2020 17:07:22
einer
Guten Abend
Ich bin ein absoluter Neuling in VBA und habe leider die Lösung nach längerer Suche nicht gefunden.
Im Workbook habe ich 2 Worksheets erstellt: ERFASSUNG und Verzeichnis.
Im Worksheet ERFASSUNG werde ich zahlreiche Zellen als Eingabefenster für Adressdaten hinzufügen.Nachdem dann diese Felder alle mit Daten erfasst wurden, möchte ich, dass über den Button "Erfassen" meine eingegebenen Daten in das 2. Worksheet unter dem jeweiligen Titel übertragen werden (ab A1, A2 usw). Die Erfassungen auf der ERFASSUNGSSEITE sollen gelöscht werden, damit ich neu erfassen kann. Und durch Drücken des Butons "Erfassen" möchte ich auf dem ERFASSUNGS Worksheet verbleiben.
Mein Problem:
1).Ich habe ein Makro über den Macrorecorder aufgenommen. Dieses Macro lösche jedes einzelne Feld im Worksheet ERFASSUNG und setzt die Daten dann unter dem jeweiligen Titel ein. Es werden jedoch auch die gesamten Formatierungen (Umrahmung, Zellhintergrund) usw. gelöscht, zwar unter Verzeichnis wieder eingefügt - aber das ist nicht der Sinn der Sache.
2). Die Daten werden jeweils immer nur in Zeile 2 im Worksheet Verzeichnis eingetragen, d.h., die vorherig eingefügten Daten werden überschrieben, was auch nicht Sinn der Sache ist.
Ich bin sicher, dass mir jemand mit VBA Kenntnisse helfen kann und wäre froh, wenn ich einen Vorschlag erhalten könnte.
Besten Dank
Stéphane
https://www.herber.de/bbs/user/134228.xlsm
AW: Daten von einer Eingabemaske in ein anderes Worksheet übertragen, mit automatisch nächster Zelle
07.01.2020 17:27:04
einer
Hi,
Select zeichnet zwar der Rekorder auf, sollte man aber meiden. probier mal so:
Public Sub Uebertrag()
Dim obj_wks_ziel As Worksheet
Dim obj_wks_quelle As Worksheet
Dim lng_letzte_zeile As Long
Set obj_wks_ziel = Worksheets("Verzeichnis")  ' Hier Zieltabellenblatt benennen
Set obj_wks_quelle = Worksheets("Erfassung")  ' Hier Quelltabellenblatt benennen
lng_letzte_zeile = obj_wks_ziel.Cells(Rows.Count, 2).End(xlUp).Row + 1 ' Letzte zeile im  _
Zielblatt ermitteln
With obj_wks_ziel
.Cells(lng_letzte_zeile, 2) = obj_wks_quelle.Cells(6, 2)
.Cells(lng_letzte_zeile, 3) = obj_wks_quelle.Cells(6, 4)
.Cells(lng_letzte_zeile, 4) = obj_wks_quelle.Cells(6, 6)
.Cells(lng_letzte_zeile, 5) = obj_wks_quelle.Cells(6, 8)
lng_letzte_zeile = lng_letzte_zeile + 1
End With
obj_wks_quelle.Range("A6:H6").ClearContents
End Sub
Gruß
Regina
Anzeige
AW: Daten von einer Eingabemaske in ein anderes Worksheet übertragen, mit automatisch nächster Zelle
08.01.2020 15:54:26
einer
Hallo Regina
Besten Dank - genau das wollte ich. Und Du hast sehr schnell auf meine Frage geantwortet, leider habe ich das erst heute gesehen, da ich keine E-Mail Deiner Antwort erhalten habe. Aber es hat geklappt und Du hast mich glücklich gemacht.
AW: Daten von einer Eingabemaske in ein anderes Worksheet übertragen, mit automatisch nächster Zelle
08.01.2020 15:55:54
einer
Prima, freut mich.
Danke für die Rückmeldung.
Gruß
regina
AW: Daten von einer Eingabemaske in ein anderes Worksheet übertragen, mit automatisch nächster Zelle
07.01.2020 17:44:13
einer
Hallo,
hier mal mit einer Schleife. Siehe auch die Kommentare im Code.
Option Explicit
Sub Eingabe()
Dim loLetzte As Long, z As Long, i As Long
Application.ScreenUpdating = False
If Worksheets("ERFASSUNG").Range("B6")  "" Then
With Worksheets("Verzeichnis")
loLetzte = .Cells(.Rows.Count, "B").End(xlUp).Offset(1).Row
z = 2
'bei weiteren Eingabefeldern hier das To 5 anpassen
'4 Eingabefelder = To 5 / 6 Eingabefelder = To 6 / 7 Eingabefelder = To 7 usw.
For i = 2 To 5
Worksheets("ERFASSUNG").Cells(6, z).Copy
.Cells(loLetzte, i).PasteSpecial Paste:=xlPasteValues
.Cells(loLetzte, 1) = loLetzte - 1
z = z + 2
Next i
End With
'Wenn du Eingabefelder erweiterst, dann hier den Bereich anpassen
Worksheets("ERFASSUNG").Range("B6:H6").ClearContents
Application.CutCopyMode = False
Else
MsgBox "Fehler: Es ist kein Name erfasst."
End If
End Sub
Die Nummerierung wird auch gleich mit eingefügt.
Gruß Werner
Anzeige
AW: Daten von einer Eingabemaske in ein anderes Worksheet übertragen, mit automatisch nächster Zelle
08.01.2020 15:55:56
einer
Hallo Werner
Besten Dank - ganz toll mit Nummerierung oder Beschrieb, wie ich weitere Felder hinzufügen kann. Auch Du hast sehr schnell auf meine Frage geantwortet, leider habe ich das erst heute gesehen, da ich keine E-Mail Deiner Antwort erhalten habe. Aber es hat geklappt und Du hast mich glücklich gemacht.
Gerne u. Danke für die Rückmeldung aber...
08.01.2020 18:20:52
Werner
Hallo,
...bei meiner Codekommentierung ist mir ein Fehler unterlaufen.
Bei der Schleife For i = 2 To 5 müsste die To Anweisung immer um 1 höher sein als du Eingabefelder hast.
Gruß Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige