Clever-Excel-Forum

Normale Version: VBA - Liste sortieren mit definierter Lücke
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo

Gratuliere, eine gute Arbeit und sehr gut durchdacht. Auf die Idee bin ich garnicht gekommen!
2 kleine Fehler habe ich gefunden und mit Erklaerung korrigiert.  Du siehtst es an '** im Code
Ich denke dieser Thread ist damit zufriedenstellen beendet.  Gefaellt mir ...

mfg  Gast 123


Code:
Sub Makro1()
Dim i As Integer

  With ThisWorkbook.Sheets("Tabelle1")
      .Range("B6:C24").Copy _
      Destination:=.Range("I6")
  End With

  For i = 6 To 24
      With ThisWorkbook.Sheets("Tabelle1")
          Select Case .Cells(i, 10)
              Case "DA"
                  .Cells(i, 11).Value = 1
              Case "EW"
                  .Cells(i, 11).Value = 2
              Case "X", "x"
                  .Cells(i, 11).Value = 3
              Case "T"    '** hier war ""
                  .Cells(i, 11).Value = 4
              Case Else
                  .Cells(i, 11).Value = 5
          End Select
      End With
  Next i

  '** Laufzeitfehler:  hinter Add stand eine 2!!  SortFields.Add2
  ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear
  ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add Key:=Range( _
      "K6:K24"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
      xlSortNormal
  With ActiveWorkbook.Worksheets("Tabelle1").Sort
      .SetRange Range("I6:K24")
      .Header = xlGuess
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
      .Apply
  End With
 
  With ThisWorkbook.Sheets("Tabelle1")
      .Range("I6:J24").Copy _
      Destination:=.Range("B6")
  End With
End Sub
Seiten: 1 2