Erste/Letzte befüllte Zelle und Anzahl Befüllter Zellen
#1
Hallo Zusammen,

innerhalb einer Zeile können Zellen den Wert 1 fortlaufend enthalten. Jedoch sind Start und Endpunkt variabel. Ich möchte innerhalb einer Zeile die erste und letzte befüllte Zelle bzw. befüllt mit 1.
Habe es z.B. mit .Cells(6, Columns.Count).End(xlEndLeft).Column probiert aber es funktioniert nicht so richtig.

Danke schonmal.
Antworten Top
#2
Hallo

deine Aussage ist sehr allgemein, besser ist es ein Beispieledatei hochzuladen und uns die gewünschte Lösung von Hand vorgeben.

mfg Gast 123
Antworten Top
#3
Ok anbei eine Testdatei.

Habe 3 Beispielszenarien erstellt.

Die Ergebnisse unter Erste befüllte Zelle, Letzte befüllte Zelle und Anzahl befüllter Zellen möchte ich über VBA raus bekommen.
Suchkriterum mit Zellwert=1 wäre besser, da eine LeereZelle bei mir eine Formel enthalten kann und das somit den Wert verfälscht
Antworten Top
#4
Hallo,

da ist aber keine Datei.

Gruß Werner
Antworten Top
#5
Oh ich hoffe jetzt


Angehängte Dateien
.xlsx   Test_Mappe.xlsx (Größe: 10,05 KB / Downloads: 5)
Antworten Top
#6
Moin,

muss es unbedingt VBA sein? Hier eine Formellösung (Anregungen aus excelformeln.de)

Arbeitsblatt mit dem Namen 'Tabelle1'
DEFG
1Erste befüllte ZelleLetzte befüllte ZelleAnzahl befüllter Zellen
2Beispiel 151511
351511
4Beispiel 2353
5353
6Beispiel 38136
78136

ZelleFormel
E3=F3-G3+1
F3=VERWEIS(2;1/(A13:O13<>"");SPALTE(A1:O1))
G3=ANZAHL(A13:O13)
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • stchwint
Antworten Top
#7
Hallo,

per Makro:

Code:
Option Explicit

Public Sub aaa()
Dim loLetzte As Long, raFund As Range, raFund1 As Range
Dim i As Long, z As Long

'Startzeile Ergebnis
z = 2

'Blattname anpassen
With Worksheets("Tabelle1")
   loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
   For i = 11 To loLetzte Step 3
       Set raFund = .Rows(i).Find(what:=1, after:=.Cells(i, 1), LookIn:=xlValues, lookat:=xlWhole, _
       searchorder:=xlByColumns, searchdirection:=xlNext)
       Set raFund1 = .Rows(i).Find(what:=1, LookIn:=xlValues, lookat:=xlWhole, _
       searchorder:=xlByColumns, searchdirection:=xlPrevious)
       If Not raFund Is Nothing Then
           .Cells(z, 4) = .Cells(i, 1)
           .Cells(z, 5) = raFund.Column
           .Cells(z, 6) = raFund1.Column
           .Cells(z, 7) = WorksheetFunction.CountIf(.Rows(i), 1)
           z = z + 1
       End If
   Next i
End With
       
Set raFund = Nothing: Set raFund1 = Nothing
End Sub


Gruß Werner
[-] Folgende(r) 1 Nutzer sagt Danke an Werner.M für diesen Beitrag:
  • stchwint
Antworten Top
#8
Hallo Werner,

Funktioniert Super. Danke Dir.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste