Brauche dringend Hilfe

Bild

Betrifft: Brauche dringend Hilfe
von: Ilona
Geschrieben am: 04.11.2003 20:56:43

Hallo alle zusammen, ich brauche etwas Hilfe.
Mein Problem: Ich habe in einer Spalte AN alle Kundengruppen die zu Kunden zugeordnet sind sortiert aufgelistet(sie können also auch mehrfach auftreten).
Sie sind aufsteigend sortiert.
Ich möchte für jede Kundengruppe den Zellbereich ermitteln, wo jede einzelne Kundengruppe drin steht. Also z.B. KG 1 steht in AN1:AN3, KG 2 AN4:AN6. Die Daten können aber immer wieder unterschiedlich sein.
Hier schon mal mein Code, der aber nicht richtig funktioniert. Was muss ich dran ändern.


Sub RangeErmitteln()
Dim KDG As String, lKDG As String, vKDG As String
Dim LineIndex As Integer, OutIndex As Integer, Line As Integer
Dim lZ As Integer
Dim sRangeVon As String, sRangeBis As String, sRange As String
KDG = "@@@@@"
vKDG = ""
LineIndex = 2    'auszulesende Zeile
OutIndex = 2     'hier soll geschrieben werden
Line = 2
lZ = Range("AN65536").End(xlUp).Row   'letzte Zelle mit Inhalt
Do While (Worksheets("Import").Cells(LineIndex, 40) <> "")
    KDG = Worksheets("Import").Cells(LineIndex, 40)
    lKDG = Worksheets("Import").Cells(lZ, 40)
    
    If (KDG > "") Then
        If ((KDG <> vKDG) And (lKDG <> "")) Then
    
            sRangeVon = "$AN$" + CStr(Line)
            Worksheets("Import").Cells(OutIndex, 42) = sRangeVon
        End If
       
            If ((KDG > vKDG) And (vKDG <> "") And (KDG < lKDG)) Then
            sRangeBis = ":$AN$" + CStr(LineIndex)
            Worksheets("Import").Cells(OutIndex, 43) = sRangeVon
    
            
            
                OutIndex = OutIndex + 1
        
    End If
            Line = Line + 1
    
    End If
    vKDG = KDG
    LineIndex = LineIndex + 1
Loop
End Sub

Ich bedanke mich schon mal für eure Ratschläge.
ILONA
Bild


Betrifft: AW: Brauche dringend Hilfe
von: xXx
Geschrieben am: 04.11.2003 21:54:48

Hallo,
es ist immer schwer, Code zu verstehen, wenn man ihn nicht testen kann. Sinnvoll wäre es deshalb, die Mappe hochzuladen.
Wie ich das sehe, schreibt du 2x sRangeVon (siehe Pfeile. Das dürfte in jedem Fall falsch sein.

If (KDG > "") Then
If ((KDG <> vKDG) And (lKDG <> "")) Then

sRangeVon = "$AN$" + CStr(Line)
--> Worksheets("Import").Cells(OutIndex, 42) = sRangeVon
End If

If ((KDG > vKDG) And (vKDG <> "") And (KDG < lKDG)) Then
sRangeBis = ":$AN$" + CStr(LineIndex)
--> Worksheets("Import").Cells(OutIndex, 43) = sRangeVon


Gruß aus'm Pott
Udo
http://www.excelerator.de

P.S.Das Forum lebt auch von den Rückmeldungen der Frager an die Antworter.


Bild

Beiträge aus den Excel-Beispielen zum Thema " Addition von Zeiten"