Excel - Erste nicht leere Zelle aufspüren (und letzte gefüllte)

Vordack

assimiliert
Moin,

Meine Kollegin hat ein Problem

Sie hat eine Zeile

A B C D E F G H I J K
1
2
3

In Zelle A1 möchte Sie den Wert der ersten gefüllten Zelle des Bereiches C1 bis K1

In Zelle A2 den Wert der letzten gefüllten Zelle des BEreiches C1 bis K1

Das ganze bis Zeile XXX

Wist ihr wie man das machen kann?

Thx,
 
Ich kann zwar nicht nachvollziehen, was das ganze soll.:unsure:

Aber wenn ich das richtig verstehe (habe mir mein bischen Excel selbst angeeignet) müsste es so gehen. Es muss doch nur der Bezug zu der entsprechenden Zelle hergestellt werden.

Also A1 =C1
A2 = K2

bekomme leider kein *xls Datei hochgeladen.
 
Hmmm, nochmal^^

# A B C D E F G H I J
1
2_____1____1____2__
3______2__3___3___
3

Also in Zelle C2 ist ein Wert und der letzte Wert in Zeile 2 ist in Zelle I2
In Zeile 3 ist der erste Wert in D3 und der letze in H3

Meine Kollegin möchte jetzt daß in Zelle A2 der Wert von Zelle C1 reinkopiert wird und in Zelle B2 der Wert von I1
In Zelle B1 der von A1 und in B2 der von H12

Es ist für folgendes

Wir haben eine große Tabelle von Auflagenzahlen von Zeitschriften.

In Spalte 1 sind die jeweiligen Quartale drin wo sie gemeldet haben.
Spalte 2 ist Zeitschirft 1
Spalte 3 ist Zeitschirft 2
....
Spalte X ist Z Zeitschrift Y

Sie möchte jetzt in Spalte A und B die jeweiligen Quartale reinhaben wo die Zeitschriften daß erste mal und daß letzte mal gemeldet haben.

Da es über 1000 Zeitschirften sind ist der manuelle Aufwand sehr hoch.

Es muss doch über ein Makro gehen

So a la

x=c
y=2

For Spalte y bis ZZ do
For Zeile = x bis XX Step 1
Wenn Zelle(x,y) = "" dann nächste Spalte
Wenn Zelle(x,y)<>"" dann x,1 = Wert in (x,y)
Gehe alle Spalten durch bis ZZ und merke Dir die Spalte mit dem letzten Wert und schreibe den in (x,2) rein.
Next y bis Spalte ZZ

Irgendwie so^^
 
Verstehe ich das jetzt richtig, dass PRO Zeile der erste verfügbare Wert und der letzte verfügbare Wert drinstehen soll?
Oder soll nur der allererste Wert aus allen Zeilen zu sehen sein und dann noch der allerletzte?
 
Ja, ersteres.

Hier die Lösung:

Sub Erst_und_Letztbezug()

Dim strErstbezug As String
Dim strLetztbezug As String

For j = 3 To 79 ' Alle Zeilen durchlaufen (bei mehr Zeitschriften anpassen!)
For i = 9 To 256 ' Alle Spalten durchlaufen (256=IV reicht bis Ende 2040 ;) )
If Cells(j, i).Value <> "" Then ' Wenn in der aktuellen Zelle ein Wert drin steht...
strErstbezug = Cells(2, i).Value ' ...den Wert der Überschrift dieser Zelle als Erstbezug definieren
Exit For ' ...und die Schleife verlassen.
End If
Next i ' Sprung zur nächsten Spalte
For i = 256 To 9 Step -1 ' Alle Spalten von hinten durchlaufen
If Cells(j, i).Value <> "" Then ' Wenn in der aktuellen Zelle ein Wert drin steht...
strLetztbezug = Cells(2, i).Value ' ...den Wert der Überschrift dieser Zelle als Letztbezug definieren
Exit For ' ...und die Schleife verlassen.
End If
Next i ' Sprung zur nächsten Spalte
Cells(j, 7).Value = strErstbezug ' Das Feld "Erstmeldung" mit der oben definierten Variablen füllen
Cells(j, 8).Value = strLetztbezug ' Das Feld "Letztmeldung" mit der oben definierten Variablen füllen
Next j ' Sprung zur nächsten Zeile

End Sub
 
Oben