Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zellwerte per VBA untereinander auf anderes Blatt übertragen
#1
Hallo,

mit meinen kaum vorhandenen VBA-Kentnissen komm ich momentan nicht weiter.
Velleicht kann mir jemand bei folgendem helfen.

Es werden zweimal pro Tag Kontrollstempel dokumentiert. Dabei werden im Tabellenblatt "Eingabe" Datum, Uhrzeit, der Name des Prüfers und der K-Stempel erfasst.
Nur die gelben Zellen werden befüllt.
Sachnummer und Benennung im Blatt "Eingabe" bleiben gleich.

Alle Daten sollen dann per Befehlsschaltfläche in das Tabellenblatt "Datensammlung" untereinander kopiert werden.
Die Werte der nächsten Prüfung sollten also im Blatt Datensammlung" ab Zeile 26 nach unten eingefügt werden.
Anschließend sollen die Zahlen in den Zellen C9:C20 des Tabellenblattes "Eingabe" entfernt werden.

Das kopieren von Datum, Uhrzeit und Prüfer funktioniert.

Wie kann ich den VBA-Code ändern, damit auch die jeweiligen Sachnummern, Benennungen und K-Stempel übertragen werden?

Im Anhang ein kleines Beispiel mit dem was ich bereits habe.

Vielen Dank für eure Hilfe und einen schönen Rest-Sonntag.


Angehängte Dateien
.xlsm   Doku_K-Stempel_v1.xlsm (Größe: 24,26 KB / Downloads: 5)
Gruß
sturmrm
Antworten Top
#2
Hallo,

mal ein Ansatz

Code:
Private Sub cmdUebernehmen_Click()
  'Variable definieren
  Dim lngErsteLeereZeile As Long
  Dim i As Long
  
  'der Variablen Werte zuweisen
  lngErsteLeereZeile = Worksheets("Datensammlung").Cells(Rows.Count, 1).End(xlUp).Row + 1
  
  i = Worksheets("Eingabe").Cells(Rows.Count, 1).End(xlUp).Row - 8
  
  
  'Werte in das Tabellenblatt "Datensammlung" übernehmen
  With Worksheets("Datensammlung")
      .Cells(lngErsteLeereZeile, 4).Resize(i, 3).Value = Worksheets("Eingabe").Cells(9, 1).Resize(i, 3).Value
      
      .Cells(lngErsteLeereZeile, 1).Resize(i).Value = Worksheets("Eingabe").Cells(3, 2).Value   'Datum
      .Cells(lngErsteLeereZeile, 2).Resize(i).Value = Worksheets("Eingabe").Cells(4, 2).Value   'Uhrzeit
      .Cells(lngErsteLeereZeile, 3).Resize(i).Value = Worksheets("Eingabe").Cells(5, 2).Value   'Prüfer
      
      
  End With
  
  Worksheets("Eingabe").Range("C9:C20").ClearContents
  
End Sub
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • sturmrm
Antworten Top
#3
Halllo Stefan,

vielen Dank für Deine Hilfe. Das funktioniert.

Magst Du mir noch zwei Fragen beantworten?

a) was bewirkt Resize?

b) worin liegt der Unterschied zwischen

.Range("C9:C20"). value =""

und

.Range("C9:C20"). ClearContents



VG Rudi
Gruß
sturmrm
Antworten Top
#4
Hallo Rudi,

zu a

damit erweitere ich den Bereich auf die gewünschte Zeilenanzahl.
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • sturmrm
Antworten Top
#5
Moin!
Zu b)
Das ist eigentlich Jacke wie Hose.
.Value = "" überschreibt den Zelleninhalt mit einem Leerstring (man könnte auch = vbNullstring nehmen).
.ClearContents löscht die Inhalte, was aufs Gleiche hinausläuft.

Die nachträgliche Prüfung einzelner Zellen auf IsEmpty(Zelle) ergibt in beiden Fällen True

Ich würde aber stets die Methode .ClearContents nehmen als eine Zuweisung eines Leerwerts.
Ist aber letztlich Geschmackssache.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • sturmrm
Antworten Top
#6
Hallo,

Vielen Dank an Stefan und Ralf für die Erklärung.

VG Rudi
Gruß
sturmrm
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste