Anzeige
Archiv - Navigation
1228to1232
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wenn Wert in Spalte A sich aendert dann Leer Zeile

Wenn Wert in Spalte A sich aendert dann Leer Zeile
buliwyf
Hallo Freunde,
ich hoffe erneut ihr koennt mir helfen. Fuer mich eine nicht wirklich leichte Aufgabe.
Mit wenn...Funktionen komme ich da nicht weit.
Folgendes: ich habe ein Macro:
  • 
    Sub Auto_open()
    Dim strDatei As String, strPfad As String, sFile As String
    Dim strText, arrHeader, iCounter As Integer, strDelim As String
    arrHeader = Array("KdNr", "EAN", "Titel", "Anzahl", "Auftragsnummer")
    strPfad = "c:\thueringen\"
    strDatei = "Bestellung_" & Format(Date, "dd.mm.yyyy") & ".xls"
    sFile = Dir(strPfad & "*.txt")
    If sFile  "" Then
    Application.ScreenUpdating = False
    Open strPfad & sFile For Input As #1
    strText = Split(Input(LOF(1), 1), vbCrLf)
    Close #1
    If InStr(strText(0), vbTab) > 0 Then
    strDelim = vbTab
    Else
    strDelim = ";"
    End If
    With Workbooks.Add.Sheets(1)
    If Join(arrHeader, strDelim)  strText(0) Then
    .Cells(1, 1).Resize(, 5) = arrHeader
    End If
    For iCounter = 0 To UBound(strText)
    .Cells(iCounter + 2, 1).Resize(, 5) = Split(strText(iCounter), strDelim)
    Next
    With .Parent
    .SaveAs Filename:= _
    "C:\Dokumente und Einstellungen\kueck\Eigene Dateien\" _
    & "Winline\Winline_Abfragen\Thueringen\Bestellungen\" & strDatei
    .Close
    End With
    End With
    End If
    End Sub

  • welches soweit auch sehr gut funktioniert !
    Nun ist die neue herausforderung,..das wenn in Spalte A,...die die Bezeichnung KdNr traegt, der Wert, die Zahl sich aendert, dann soll unmittelbar eine leerzeile eingefügt werden.
    Als. Bsp.

  • KdNr
    12069
    12069
    12069
    12081
    12081

  • das soll dann hinterher so aus sehen:

  • KdNr
    12069
    12069
    12069
    12081
    12081

  • Vielleicht jemand ne Idee ?
    Vielen Dank.
    /stefan
    bei Eingabe prüfen und Zeile einfügen
    12.09.2011 12:26:49
    Matthias
    Hallo
    In A1 steht KdNr.
    Darunter dann die Nummern eingeben
    Vielleicht so?
    
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A3:A65536")) Is Nothing And Target.Count = 1 Then
    If Target  Target.Offset(-1, 0) Then Rows(Target.Row).Insert Shift:=xlDown
    End If
    End Sub
    Gruß Matthias
    AW: bei Eingabe prüfen und Zeile einfügen
    12.09.2011 12:37:39
    buliwyf
    wie wird das worksheet ausgeloest,..durch was ?
    Die Zahlen in der Spalte A gebe ich ja nicht ein, die werden doch durch das Macro siehe weiter oben aus einem txt file importiert und aufbereitet.
    Muss deine idee nicht da irgendwie rein ?
    /stefan
    Anzeige
    AW: Wenn Wert in Spalte A sich aendert dann Leer Zeile
    12.09.2011 12:36:55
    Rudi
    Hallo,
    sieht vielleich schön aus, aber damit zerstörst du dir deine Tabelle! Filtern, Sortieren, Pivot, .... geht mit komplett leeren Zeilen nicht.
    
    Dim vntKunde
    With Workbooks.Add.Sheets(1)
    If Join(arrHeader, strDelim)  strText(0) Then
    .Cells(1, 1).Resize(, 5) = arrHeader
    End If
    vntKunde = Split(strText(0), strDelim)(0)
    For iCounter = 0 To UBound(strText)
    .Cells(iCounter + 2 - (vntKunde  Split(strText(iCounter), strDelim)(0)), 1).Resize(, _
    5) = _
    Split(strText(iCounter), strDelim)
    vntKunde = Split(strText(iCounter), strDelim)(0)
    Next
    With .Parent
    .SaveAs Filename:= _
    .....

    Gruß
    Rudi
    Anzeige
    AW: Wenn Wert in Spalte A sich aendert dann Leer Zeile
    12.09.2011 12:45:27
    buliwyf
    Hallo Rudi,
    wenn mich nicht alles taeuscht ist das macro sogar von dir ;-)
    ich adde mal am besten das xls file samt macro up,..da ich so nicht wirklich know wo und wie der neue
    code, also an weche Stelle er soll.
    hier der Link zum ecxel file
    https://www.herber.de/bbs/user/76569.xls
    und als Exampl.. mal ein txt file welches eingelesen wird....vielleicht hilft das so besser weiter.
    https://www.herber.de/bbs/user/76570.txt
    vielen dank fuer eure muehe!
    /stefan
    Anzeige
    AW: Wenn Wert in Spalte A sich aendert dann Leer Zeile
    12.09.2011 13:02:55
    Rudi
    Hallo,
    Auto_open solltest du vergessen. Total veraltet. Dafür gibt's die Ereignis-Prozedur Workbook_Open.
    In DieseArbeitsmappe:
    
    Private Sub Workbook_Open()
    Dim strDatei As String, strPfad As String, sFile As String
    Dim strText, arrHeader, iCounter As Integer, strDelim As String
    Dim vntKunde, vntTmp
    arrHeader = Array("KdNr", "EAN", "Titel", "Anzahl", "Auftragsnummer")
    strPfad = "c:\thueringen\"
    strDatei = "Bestellung_" & Format(Date, "dd.mm.yyyy") & ".xls"
    sFile = Dir(strPfad  & "*.txt")
    If sFile  "" Then
    Application.ScreenUpdating = False
    Open strPfad & sFile For Input As #1
    strText = Split(Input(LOF(1), 1), vbCrLf)
    Close #1
    If InStr(strText(0), vbTab) > 0 Then
    strDelim = vbTab
    Else
    strDelim = ";"
    End If
    With Workbooks.Add.Sheets(1)
    If Join(arrHeader, strDelim)  strText(0) Then
    .Cells(1, 1).Resize(, 5) = arrHeader
    End If
    vntKunde = Split(strText(0), strDelim)(0)
    For iCounter = 0 To UBound(strText)
    vntTmp = Split(strText(iCounter), strDelim)
    If UBound(vntTmp) > -1 Then
    .Cells(iCounter + 2 - (vntKunde  vntTmp(0)), 1).Resize(, 5) = vntTmp
    vntKunde = vntTmp(0)
    End If
    Next
    With .Parent
    .SaveAs Filename:= _
    "C:\Dokumente und Einstellungen\kueck\Eigene Dateien\" _
    & "Winline\Winline_Abfragen\Thueringen\Bestellungen\" & strDatei
    .Close
    End With
    End With
    End If
    End Sub

    wenn mich nicht alles taeuscht ist das macro sogar von dir ;-)
    Hab ich auch schon gedacht.
    Gruß
    Rudi
    Anzeige
    Vielen Dank Rudi !!!
    12.09.2011 14:26:32
    buliwyf
    Funktioniert echt Super, vielen Dank Rudi !
    really awesome ;-)
    /stefan
    AW: Vielen Dank Rudi !!!
    12.09.2011 14:31:07
    buliwyf
    Eins fehlt aber noch,...das er beim Aufruf automatisch ausgefuehrt wird wie bei auto_open ?
    Hmmm ?
    AW: Vielen Dank Rudi !!!
    12.09.2011 16:15:21
    Rudi
    Hallo,
    wenn du den Code, wie ich geschrieben habe, in DieseArbeitsmappe einfügst, läuft er auch automatisch ab.
    Gruß
    Rudi

    475 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige