Thema Datum  Von Nutzer Rating
Antwort
Rot Nicht benötigte Zeilen löschen
05.09.2016 11:41:18 Xc24
NotSolved
05.09.2016 13:52:21 Gast69340
NotSolved
05.09.2016 15:15:59 Gast22647
NotSolved
06.09.2016 09:10:11 Gast52747
Solved

Ansicht des Beitrags:
Von:
Xc24
Datum:
05.09.2016 11:41:18
Views:
1239
Rating: Antwort:
  Ja
Thema:
Nicht benötigte Zeilen löschen

Hallo, 

ich habe eine Liste mit ca. 2000 Materialnr. und dazu die verbrauchte Menge. Das Problem dabei dass jeder Verbrauch extra eingetragen wird und nicht zu den breits vorh. hinzugefügt wird. Insgesamt sind es ca. 200 versch. Mat.Nr.  Ich wollte jetzt ein VBA programm schreiben, dass alle Mengen einer bestimmten Mat. aufsummiert und die nicht benötigten dann löscht, damit jede Mat.Nr. nur noch einmal drinnensteht. Das aufsummieren funktioniert, nur das löschen der nicht benötigten nicht. 

 

Hier das aufsummieren. 

(Alle Mat.Nr. die gleich sind stehen direkt untereinander)

Dieser Code funktioniert

Sub ListeLeeren()

Dim x As String 'Variable für die Mat.Nr
Dim erg As Integer 'Var. für das aufsummieren der Mengen
Dim i As Integer 'Laufvar. für die Schleife
   

'x die erste Mat.Nr. in der Excelliste zuweisen
x = ActiveSheet.Cells(1, "A").Value


'Schleife über die Komplette Liste
For i = 0 To Tabelle1.Cells(Rows.Count, "A").End(xlUp).Row

    'Wenn die Mat.Nr in der nächsten Zeile die selbe ist wie die aktuelle
    'Dann die Menge in dieser Zeile addieren
    If Cells(i + 1, "A").Value = x Then
        erg = erg + Cells(i + 1, "B").Value
    Else
        'Wenn nicht dann
        'Das aufsummierte Erg in die akt. Zeile in Spalte B schreiben
        Cells(i, "B").Value = erg
        'Die aufsummierte Zeile mit einem X in Spalte C kennzeichnen
        Cells(i, "C").Value = "X"
        
        'Das neue Erg ist nun die Menge der neuen Mat.Nr(Steht in nächster Zeile)
        erg = Cells(i + 1, "B").Value
        'Die neue Mat.Nr. ist nun die Mat.Nr., die in der nächsten Zeile steht
        x = Cells(i + 1, "A").Value
    
    End If
    
Next

Alle Zeilen die in Spalte C nun kein X haben können ja gelöscht werden, da nur die mit einem X aufsummiert wurden. 
Aber wie lösche ich alle Zeilen die kein X in Spalte C haben? 


Dim y As Integer

'Alle unnötigen Zeilen löschen
'

'For y = 1 To Tabelle1.Cells(Rows.Count, "A").End(xlUp).Row

 '   If Cells(y , "C") <> "X" Then
  '      Cells(y, "C").Delete xlShiftUp
   ' End If


'Next

 

hier hängt sich Excel auf (keine Rückmeldung) 

 

 

Vielen Dank 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Nicht benötigte Zeilen löschen
05.09.2016 11:41:18 Xc24
NotSolved
05.09.2016 13:52:21 Gast69340
NotSolved
05.09.2016 15:15:59 Gast22647
NotSolved
06.09.2016 09:10:11 Gast52747
Solved