Kopieren bestimmter Daten in neues Blatt + Formatierung
#11
Hi,

ja, so habe ich es auch gemeint.
Aber bei mir waren die Daten, die gelöscht werden sollten, nach dem Makro-Testen immer noch enthalten. Jetzt ist das nicht mehr so.
Top
#12
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'
BCDEF
20Art.Nr.AnzahlArtikelbezeichnung
2182Orangensaft

ZelleFormel
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'
BCDEF
20Art.Nr.AnzahlArtikelbezeichnung
21

ZelleFormel
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!
Top
#13
Auch Hallo,

@Frogger1986

Excel hat seit der Version 2007 mehr als 256 Spalten und auch bei der Version vom TE ist das so. Eine Beschränkung auf 256 ist also nicht nötig.
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Frogger1986
Top
#14
gelöscht
Top
#15
Ich habe den Bereich in eine Intelligente Tabelle umgewandelt so ist sie übersichtlicher und die Daten lassen sich einfacher verwenden und Filtern! Ein zwei Fehler hab ich auch noch gefunden!
Top
#16
Wow ihr seid der Wahnsinn, vielen Dank für das viele Feedback.

Ich werde mich sofort euren Ausführungen widmen :)

:28:
Top


Gehe zu:


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