Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Erste Zelle mit Wert finden und vervielfachen

Erste Zelle mit Wert finden und vervielfachen
15.10.2007 09:28:48
stargate
Hallo zusammen,
nachdem ich schon zahlreiche eurer super hilfreichen Beiträge für meine Zwecke nutzen konnte, bin ich nun diesmal zum allerersten mal nicht fündig geworden und wende mich deshalb direkt an euch.
Folgende Herausforderung (zumindest für mich):
Ich habe eine Tabelle mit einem Tabellenblatt (Inhalt nur Werte) mit A:DL Spalten und beliebig vielen Zeilen (zur Zeit ca. 1000). Spalte A sieht folgendermassen aus:
A B C D
Personalnummer
1000
leer
leer
2000
leer
leer
leer
leer
leer
leer
3000
etc.
Nun möchte ich gerne per Marko, den ersten Wert finden (e.g. 1000), diesen kopieren, in die darunterliegenden noch leeren Zellen einfügen und zwar solange bis ein neuer Wert (2000) gefunden wird, dann soll er diesen neuen Wert nehmen und den entsprechend weiter einfügen. Das Ergebnis soll so aussehen.
A B C D
Personalnummer
1000
1000
1000
2000
2000
2000
2000
2000
2000
2000
3000
etc.
Sinn und Zweck der ganzen Aktion ist, dass ich die Tablle in einem nachfolgenden Schritt nach bestimmten Kriterien sortieren will (unter anderem Pers.Nr.) und deshalb in jeder Zeile die Pers.Nr. drinstehen muss!
Vielen Dank vorab für jegliche Hilfe
Stargate

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erste Zelle mit Wert finden und vervielfachen
15.10.2007 09:45:51
Mac4
Moin,
markiere die Spalte A - F5 - Inhalte - leere Zellen - dann in Formelleiste ein Gleichheitszeichen und klick auf die erste gefüllte Zelle - die Aktion mit Strg+Enter abschließen!
Marc

AW: Erste Zelle mit Wert finden und vervielfachen
15.10.2007 09:46:00
Worti
Hallo Stargate,
zB. mit VBA so:


Sub Stargate()
    Dim lngZeile As Long
    Dim lngEnde As Long
    lngZeile = 1
    'ersten Wert in Spalte A suchen
    Do While Cells(lngZeile, 1) = ""
      lngZeile = lngZeile + 1
    Loop
    lngEnde = Cells(Rows.Count, 1).End(xlUp).Row
    Do
      If Cells(lngZeile, 1).Offset(1, 0).Value = "" Then
         Cells(lngZeile, 1).Offset(1, 0).Value = Cells(lngZeile, 1).Value
      End If
         lngZeile = lngZeile + 1
     Loop Until lngZeile >= lngEnde
End Sub


Gruß Wort

Anzeige
@Worti
15.10.2007 10:17:00
Jens
Hi Worti
Hast Du mal Deinen Code getestet?
Die letzte aufgeführte Per.-Nr. wird aber nicht mehr weiter ausgefüllt.
Da sollte man vielleicht eine Abfrage einbauen, um zu Prüfen, welches die letzte gefüllte Zeile ist.
Ansonsten würde der Code nur bis genau zum letzten Eintrag in Spalte A laufen.
Es wäre aber möglich, dass der letzte Daten-Eintrag in Spalte "X" steht.
Dann müsste die letzte Zeile etwa so definiert werden:
lngEnde = Worksheets("Tabelle1").UsedRange.SpecialCells(xlCellTypeLastCell).Row
Nur als Info.
Schönen sonnigen Tag noch.
Gruß aus dem Sauerland
Jens

Anzeige
AW: @Worti
15.10.2007 11:07:29
Worti
Hallo Jens,
das war mir wohl bewußt, aber in Ermanglung weiterer Infos würd es sonst bis zur letzten Zeile laufen (und dann auf Fehler ;-) )
Gruß Worti

AW: Erste Zelle mit Wert finden und vervielfachen
15.10.2007 09:57:00
stargate
Habs doch gefunden, hab am Anfang unter einem total falschen Stichwort gesucht ;-)
hier für alle dies interessiert die gefundene Lösung

Sub CopyCells()
Dim iRow As Integer
iRow = 2
Do Until Cells(iRow, 1).Value = "Stop"
If IsEmpty(Cells(iRow, 1)) Then
Cells(iRow, 1).Value = Cells(iRow - 1, 1).Value
End If
iRow = iRow + 1
Loop
End Sub


Anzeige
AW: Erste Zelle mit Wert finden und vervielfachen
15.10.2007 09:59:35
stargate
hey, vielen lieben Dank für eure Hilfe, die Lösungen funktionieren auch,
hab sie gerade gesehen
tausend Dank und bis zum nächsten Mal :-)

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Erste Zelle mit Wert finden und vervielfachen


Schritt-für-Schritt-Anleitung

Um die erste Zelle mit einem Wert in Excel zu finden und diesen Wert zu vervielfachen, kannst Du die folgende Vorgehensweise nutzen:

  1. Markiere die Spalte: Klicke auf den Spaltenkopf der Spalte A, um die gesamte Spalte zu markieren.
  2. Leere Zellen auswählen: Gehe zu StartSuchen und AuswählenLeere Zellen.
  3. Formel eingeben: In der Formelleiste gibst Du ein Gleichheitszeichen (=) ein und klickst auf die erste gefüllte Zelle in der Spalte.
  4. Aktion abschließen: Drücke Strg + Enter, um die Formel auf alle leeren Zellen anzuwenden. So wird der erste Wert in der Spalte wiederholt.

Häufige Fehler und Lösungen

  • Fehler beim Kopieren des Wertes: Wenn der Wert nicht korrekt kopiert wird, stelle sicher, dass Du die richtige Zelle auswählst. Oftmals wird die letzte gefüllte Zelle nicht berücksichtigt.
  • Die letzte Zelle wird nicht ausgefüllt: Wie Jens im Forum erwähnt hat, kann es notwendig sein, eine zusätzliche Abfrage einzubauen, um die letzte gefüllte Zeile zu bestimmen.

Alternative Methoden

Eine alternative Methode ist die Verwendung von VBA (Visual Basic for Applications). Hier ist ein einfaches VBA-Skript, das die erste Zelle mit einem Wert findet und diesen in die darunterliegenden Zellen kopiert:

Sub CopyCells()
    Dim iRow As Integer
    iRow = 2
    Do Until Cells(iRow, 1).Value = "Stop"
        If IsEmpty(Cells(iRow, 1)) Then
            Cells(iRow, 1).Value = Cells(iRow - 1, 1).Value
        End If
        iRow = iRow + 1
    Loop
End Sub

Um das Skript anzuwenden, öffne den VBA-Editor mit Alt + F11, füge den Code in ein neues Modul ein und führe das Makro aus.


Praktische Beispiele

Stell Dir vor, Du möchtest die Personalnummern in Spalte A vervielfachen, die wie folgt aussieht:

A
1000
(empty)
(empty)
2000
(empty)
(empty)

Nach Anwendung der obigen Schritte sollte das Ergebnis so aussehen:

A
1000
1000
1000
2000
2000
2000

Tipps für Profis

  • Nutze die Funktion SVERWEIS oder INDEX und VERGLEICH, um Werte dynamisch zu suchen und zurückzugeben, falls Du mehr Flexibilität benötigst.
  • Bei großen Datenmengen kann es effizienter sein, die Tabelle-Funktion in Excel zu nutzen, um leichter mit den Daten zu arbeiten.
  • Überlege, ob das Füllen der leeren Zellen per VBA nicht die bessere Wahl ist, wenn Du regelmäßig mit ähnlichen Daten arbeitest.

FAQ: Häufige Fragen

1. Wie finde ich die erste gefüllte Zelle in einer Zeile?
Du kannst die Funktion VERGLEICH verwenden, um die Position der ersten gefüllten Zelle in einer Zeile zu finden.

2. Was ist der Unterschied zwischen SVERWEIS und WVERWEIS?
SVERWEIS sucht in einer Spalte, während WVERWEIS in einer Zeile sucht. Beide Funktionen sind nützlich, um Werte aus Tabellen zu extrahieren.

3. Wie kann ich mehrere Werte gleichzeitig suchen?
Du kannst eine Kombination aus WENN und VERGLEICH verwenden, um mehrere Bedingungen gleichzeitig zu prüfen und die entsprechenden Werte zurückzugeben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige