Wenn ich jede Rechnung speichere, werden auch alle leeren Zeilen in der Rechnung angezeigt
390
Amarendra Kumar
Ich erstelle eine Datenbank für einen Freund von mir. Auf 2 Bögen habe ich dann eine Rechnungsliste, die Daten aus der Bestandsliste basierend auf einem Artikelcode (unter Verwendung von Vloolup) aufruft. Ich habe dann eine VBA-Formel, mit der die Daten von jeder Rechnung in ein Rechnungsdatenblatt verschoben werden, das die Daten von jedem Verkauf enthält. Dies ist der Code, den ich verwende, um die Daten von jeder Rechnung in das Datenblatt "Rechnungsdaten" zu übertragen.
Ich habe eine Kopie der Rechnungsseite beigelegt, damit Sie sehen können, woher mein Code kommt
Option Explicit Sub Button2_Click() Dim rng As Range Dim i As Long Dim a As Long Dim rng_dest As Range Application.ScreenUpdating = False 'Check if invoice # is found on sheet "Invoice data" i = 1 Do Until Sheets("Invoice data").Range("A" & i).Value = "" If Sheets("Invoice data").Range("A" & i).Value = Sheets("Invoice").Range("F4").Value Then 'Ask overwrite invoice #? If MsgBox("Overwrite invoice data?", vbYesNo) = vbNo Then Exit Sub Else Exit Do End If End If i = i + 1 Loop i = 1 Set rng_dest = Sheets("Invoice data").Range("G:K") 'Delete rows if invoice # is found Do Until Sheets("Invoice data").Range("A" & i).Value = "" If Sheets("Invoice data").Range("A" & i).Value = Sheets("Invoice").Range("F4").Value Then Sheets("Invoice data").Range("A" & i).EntireRow.Delete i = 1 End If i = i + 1 Loop ' Find first empty row in columns G:K on sheet Invoice data Do Until WorksheetFunction.CountA(rng_dest.Rows(i)) = 0 i = i + 1 Loop 'Copy range B13:I38 on sheet Invoice Set rng = Sheets("Invoice").Range("B13:F32") ' Copy rows containing values to sheet Invoice data For a = 1 To rng.Rows.Count If WorksheetFunction.CountA(rng.Rows(a)) <> 0 Then rng_dest.Rows(i).Value = rng.Rows(a).Value 'Copy Invoice number Sheets("Invoice data").Range("A" & i).Value = Sheets("Invoice").Range("F4").Value 'Copy Date Sheets("Invoice data").Range("B" & i).Value = Sheets("Invoice").Range("F3").Value 'Copy Company name Sheets("Invoice data").Range("C" & i).Value = Sheets("Invoice").Range("C7").Value 'Copy Add Sheets("Invoice data").Range("D" & i).Value = Sheets("Invoice").Range("C8").Value 'Copy PIN Sheets("Invoice data").Range("E" & i).Value = Sheets("Invoice").Range("C9").Value 'Copy Phone Sheets("Invoice data").Range("F" & i).Value = Sheets("Invoice").Range("C10").Value i = i + 1 End If Next a MsgBox ("Invoice saved!") Application.ScreenUpdating = True Sheets("Invoice").Range("F4").Value = _ Sheets("Invoice").Range("F4").Value + 1 End Sub Sub Button1_Click() UserForm1.Show End Sub
Mein Problem ist, dass beim Speichern jeder Rechnung alle leeren Zeilen in der Rechnung angezeigt werden:
0 Antworten auf die Frage
Verwandte Probleme
-
2
Konvertieren Sie Excel 4.0-Makro in VBA
-
3
Fixieren Sie ein (Heute) Datum in Excel
-
4
Excel 2007 | Entfernen Sie leere Felder aus den Pivot-Tabellen
-
2
Wie würde ein Outlook 2007-Makro zum Automatisieren des Einfügevorgangs - unformatierter Text ausseh...
-
4
Öffnen Sie mehrere Instanzen von Excel ohne PERSONAL.xlsb-Sperrnachricht
-
5
Wählen Sie eine gesamte Spalte ohne Kopfzeile in einem Excel-Makro aus
-
1
Stellen Sie das Blattschutzkennwort in Excel wieder her
-
2
Excel VBA: So löschen Sie eine Auswahl, ohne das Arbeitsblatt zu aktivieren
-
1
in Excel 2002 eine Zeichenfolge links von allen Zellen einer Spalte anhängen?
-
2
Makro zum Öffnen von Excel-Hyperlinks