Ich habe zwei Arbeitsblätter mit dem Namen "Slip" und "Memo". Ich möchte Daten von Slip kopieren und automatisch zu Memo hinzufügen, indem ich eine Befehlsschaltfläche drücke, die ich im Arbeitsblatt Slip erstellt habe. Wenn einer (oder zwei) der Einträge in Slip leer gelassen wird, erscheint ein Meldungsfeld mit der Aufschrift "Alle Einträge müssen ausgefüllt sein". Danach werden die Einträge, die in Slip gefüllt wurden, nicht in Memo hinzugefügt.Excel-Makro zum Kopieren von Zelldaten aus einem Arbeitsblatt und Einfügen in ein anderes Arbeitsblatt basierend auf einer bestimmten Bedingung
Bisher ist dies der Code, den ich habe: „Alle Eingaben müssen ausgefüllt werden“
Private Sub CommandButton1_Click()
Dim SentDate As Date, Source As String, Subject As String, ReceivedBy As
String, Mode As String
Worksheets("Slip").Select
SentDate = Range("F11")
Source = Range("E1")
Subject = Range("E2")
ReceivedBy = Range("M34")
Mode = Range("M35")
Worksheets("Memo").Select
Worksheets("Memo").Range("A3").Select
If Worksheets("Memo").Range("A3").Offset(1, 0) <> "" Then
Worksheets("Memo").Range("A3").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = SentDate
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Source
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Subject
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ReceivedBy
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Mode
Worksheets("Slip").Select
If IsEmpty(Range("F11")) = True And IsEmpty(Range("E1").Value) = True And
IsEmpty(Range("E2").Value) = True And IsEmpty(Range("M34").Value) = True
And IsEmpty(Range("M35").Value) = True Then
MsgBox "FORM is empty."
ElseIf IsEmpty(Range("F11")) = True Or IsEmpty(Range("E1").Value) = True
Or IsEmpty(Range("E2").Value) = True Or IsEmpty(Range("M34").Value) = True
Or IsEmpty(Range("M35").Value) = True Then
MsgBox "All entries must be filled."
Else
MsgBox "Successfully added to Memo"
End If
End Sub
Welche Bedingung sollte ich nach der Message-Box setzen sagen ?
Angenommen Beleg sieht wie folgt aus:
A/B/C/D/E
Datum/Quelle/Betreff/Empfangen von/Mode
19. Mai/RD/Meeting/HR/Fax
20. Mai/RD/Meeting/HR/Fax
21. Mai // Meeting/HR/Fax
Wenn ich auf die Befehlsschaltfläche klicke, sollte "Alle Einträge müssen gefüllt sein" angezeigt werden, da ich die Quelle in der letzten Zeile leer gelassen habe. Wie werde ich den Rest der Einträge aus der Addition zu Memo verhindern so Memo sollte wie folgt aussehen:
A/B/C/D/E
Datum/Quelle/Betreff/Empfangen von/Mode
May 19/RD/Meeting/HR/Fax
Mai 20/RD/Meeting/HR/Fax
Es hat nicht Mai hinzufügen 21 // Meeting/HR/Fax, da ich eine Zelle leer gelassen in das Arbeitsblatt Arbeitsblatt. Wie ist die Bedingung dafür?
Vielen Dank im Voraus
geändert werden soll eine 'Beenden Sub' Anweisung hinzuzufügen. (PS 'IsEmpty (x) = True' kann genauso geschrieben werden wie' IsEmpty (x) '.' IsEmpty' gibt entweder 'True' oder' False' zurück, so dass Ihre Bedingungen entweder 'True = True' sind, was zu' True', oder 'False = True', was zu' False' führt - also fügt der '= True'-Teil keinen Wert hinzu.) – YowE3K
@ YowE3K Hey danke, ich habe den Post bearbeitet, weil es so aussieht als hätte ich ihn nicht erklären Sie es gut das erste Mal – auqnabeshie
Sie möchten wahrscheinlich eine 'Exit Sub' Aussage hinzufügen. ** Und ** verschieben Sie die Aktualisierung der Zellen auf ** nachdem ** Sie die Gültigkeit der Quelldaten überprüft haben. – YowE3K