2016-07-05 6 views
1

Ich arbeite mit einer Qualitätskontrolle-Tabelle, und ich möchte die längste Zeile finden (oder wissen), die die größte Anzahl von Zellen enthält. zum Beispiel:Wie die Länge der längsten Zeile in einem Arbeitsblatt zu kennen ist

aa | bb | cc | dd | 
aa | kk | 
aa | dd | ss | 

Nun möchte ich das Programm kann mir die längste Zeile sagen, die erste ist, die vier Spalten enthält. Ich habe diesen Code verwendet:

ActiveCell.End(xlDown).Select 
ActiveCell.End(xlToRight).Select 
my_line = Selection.Row 
my_column= Selection.Column + 1 

Aber es kann mir nur die Länge der letzten Zeile geben, aber nicht die längste. Wenn Sie also Ideen haben, hinterlassen Sie bitte einen Kommentar.

+0

Können Sie klären? Ich höre, als ob Sie die ROW mit den am meisten besiedelten Zellen finden möchten * aka * die zuletzt bevölkerte Spalte. Längste Linie klingt so, als würden Sie den Inhalt innerhalb der Zellen betrachten und nicht die Zellen selbst. – Jeeped

Antwort

3

Verwenden Sie die Range.Find method mit einem Platzhalter. Beginnen Sie bei A1 und schauen Sie rückwärts (d. H. XlPrevious). Die Suche findet schnell die letzte Zelle nach Spalte.

Dim lst As Range 
With Worksheets("Sheet7") 
    Set lst = .Cells.Find(What:=Chr(42), After:=.Cells(1, 1), LookIn:=xlFormulas, _ 
     LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious) 
End With 
Debug.Print lst.Row 
Debug.Print lst.Column 
+0

Das funktioniert! Vielen Dank! – Hiddenllyy

Verwandte Themen