seltsam... die zeile:
Code:
Sheets("Bestellungen").Range(Cells(Kundenummer_Ze, 4), Cells(Kundenummer_Ze, Sheets("Bestellungen").Cells(Kundenummer_Ze, 256).End(xlToLeft).Column + 1)).Value = ""
Löscht eigentlich alle werte..
vielleicht war irgendwo ein Tippfehler im Code….
wenn es jetzt klappt ist ja alles ok...
hier der Code mit Beschreibung:
Code:
Sub Artikel()
On Error Resume Next
LetzteZe = Sheets("Rechnung").Cells(Rows.Count, 2).End(xlUp).Row
LetzteZe2 = Sheets("Bestellungen").Cells(Rows.Count, 1).End(xlUp).Row
'kontrollieren ob Kunde vorhanden
Set finden = Sheets("Bestellungen").Range("B:B").Find(Sheets("rechnung").Range("H4"))
Kundenummer_Ze = finden.Row
'Falls Kundennummer nicht vorhanden wir die Kundennummer angelegt
If finden Is Nothing Then
Kundenummer_Ze = Sheets("Bestellungen").Cells(Rows.Count, 2).End(xlUp).Row + 1
Sheets("Bestellungen").Cells(LetzteZe2 + 1, 1).Value = Sheets("Rechnung").Range("C12").Value
Sheets("Bestellungen").Cells(LetzteZe2 + 1, 2).Value = Sheets("Rechnung").Range("H4").Value
End If
'Zeile leeren im Tabellenblatt "Bestellungen" und Datum der letzten Bestellung setzen
Sheets("Bestellungen").Range(Cells(Kundenummer_Ze, 4), Cells(Kundenummer_Ze, Sheets("Bestellungen").Cells(Kundenummer_Ze, 256).End(xlToLeft).Column + 1)).Value = ""
Sheets("Bestellungen").Cells(Kundenummer_Ze, 3) = Sheets("Rechnung").Range("H2").Value
'Daten ?bertragen
For i = 21 To LetzteZe
'Spalte des Artikel finden
Set finden = Sheets("Bestellungen").Range("2:2").Find(Sheets("rechnung").Cells(i, 2))
Artikelnummer_SP = finden.Column
'Neuen Artikel anlegen falls nicht vorhanden
If finden Is Nothing Then
Artikelnummer_SP = Sheets("Bestellungen").Cells(2, 256).End(xlToLeft).Column
Sheets("Bestellungen").Cells(2, Artikelnummer_SP + 1).Value = Sheets("rechnung").Cells(i, 2).Value
Sheets("Bestellungen").Cells(2, Artikelnummer_SP + 1).Interior.Color = Sheets("Bestellungen").Cells(2, Artikelnummer_SP - 3).Interior.Color
Sheets("Bestellungen").Columns(Artikelnummer_SP + 1).HorizontalAlignment = xlCenter
Sheets("Bestellungen").Cells(2, Artikelnummer_SP + 1).BorderAround Weight:=xlThin
Sheets("Bestellungen").Cells(2, Artikelnummer_SP + 2).Value = "M?nge"
Sheets("Bestellungen").Cells(2, Artikelnummer_SP + 2).Interior.Color = Sheets("Bestellungen").Cells(2, Artikelnummer_SP - 3).Interior.Color
Sheets("Bestellungen").Columns(Artikelnummer_SP + 2).HorizontalAlignment = xlCenter
Sheets("Bestellungen").Cells(2, Artikelnummer_SP + 2).BorderAround Weight:=xlThin
Artikelnummer_SP = Sheets("Bestellungen").Cells(2, 256).End(xlToLeft).Column - 1
End If
'Artikelnummer ?bertragen
Sheets("Bestellungen").Cells(Kundenummer_Ze, Artikelnummer_SP).Value = Sheets("Rechnung").Cells(i, 2).Value
'Artikelm?nge ?bertragen
Sheets("Bestellungen").Cells(Kundenummer_Ze, Artikelnummer_SP + 1).Value = Sheets("Rechnung").Cells(i, 3).Value
Next
'Formatierung
Letzte_ze = Sheets("Bestellungen").Cells(Rows.Count, 1).End(xlUp).Row
Letzte_Sp = Sheets("Bestellungen").Cells(2, 256).End(xlToLeft).Column
'Hintergrundfarbe und Ramen sezten
For Each cell In Sheets("Bestellungen").Range(Cells(3, 1), Cells(Letzte_ze, Letzte_Sp))
Spalte = cell.Column
cell.Interior.Color = Sheets("Bestellungen").Cells(2, Spalte).Interior.Color
cell.BorderAround Weight:=xlThin
Next
End Sub
und ganz wichtig um Fehler zu vermeiden solltest du die formel
Arbeitsblatt mit dem Namen 'Rechnung' |
| B | C | D | E | F |
20 | Art.Nr. | Anzahl | Artikelbezeichnung | | |
21 | 8 | 2 | Orangensaft |
Zelle | Formel |
D21 | =WENN(B21="";"";WENN(B21>0;SVERWEIS(B21;Getränke!$A$2:$B$8;2;WAHR))) |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
gengen die Formel
Arbeitsblatt mit dem Namen 'Rechnung' |
| B | C | D | E | F |
20 | Art.Nr. | Anzahl | Artikelbezeichnung | | |
21 | | | |
Zelle | Formel |
D21 | =WENNFEHLER(SVERWEIS(B21;Getränke!$A$2:$B$8;2;0);"") |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
austauschen! Da deine Formel kein eindeutiges Ergebnis liefert!