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

Forumthread: Werte aus Liste auslesen

Werte aus Liste auslesen
18.04.2018 11:32:19
Lukas
Hallo zusammen,
ich bin leider ein VBA-Nichtskönner. Für eine Projektarbeit versuch ich mich jetzt seit einigen Stunden an einem Problem und hoffe nun, dass ihr mir vielleicht weiter helfen könnt.
Ich habe also ein Excell Blatt mit einem recht komlizierten Berechnungsvorgang und mit einer Ein- (E4) und einer Ausgabezelle (E7).
Nun habe ich eine Liste von Eingabe Werten (B13,B14, ... , B28), welche ich berechnen will und neben den Eingabewerten Ausgeben will (C13, C14, ... , C28). Im Anhang habe ich ein vereinfachtes Beispiel hochgeladen.
Hinbekommen hab ich bisher eine Schleife, welche mir die Werte für schrittweise Ausgangswerte ausgibt:
Public Sub Rechne()
Dim intI As Integer
For intI = 1 To 200
Range("E4").Value = intI
Range("B" & intI).Value = Range("B1").Value
Next
End Sub

Userbild
Nun brauch ich sozusagen nur noch die Eingangswerte aus der Spalte B anstatt den Werten 1 bis 200 und eine
Würd mich sehr freuen falls ihr mir helfen könnt. Vielen Dank schonmal!
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte aus Liste auslesen
18.04.2018 12:12:34
Rudi
Hallo,
Sub rechnen()
Dim lngRow As Long
For lngRow = 13 To 28
Cells(4, 5) = Cells(lngRow, 2)
Cells(lngRow, 3) = Cells(7, 5)
Next
End Sub

Gruß
Rudi
AW: Werte aus Liste auslesen
18.04.2018 12:12:36
Rudi
Hallo,
Sub rechnen()
Dim lngRow As Long
For lngRow = 13 To 28
Cells(4, 5) = Cells(lngRow, 2)
Cells(lngRow, 3) = Cells(7, 5)
Next
End Sub

Gruß
Rudi
Anzeige
AW: Werte aus Liste auslesen
18.04.2018 14:17:26
Lukas
Super, funktioniert. Vielen Dank, dass hat mir sehr geholfen!
;
Anzeige
Anzeige

Infobox / Tutorial

Werte aus Liste auslesen in Excel


Schritt-für-Schritt-Anleitung

Um Werte aus einer Liste in Excel auszulesen und die Ergebnisse in einer anderen Zelle anzuzeigen, kannst du die folgende VBA-Makroanweisung verwenden. Diese Anleitung geht davon aus, dass du mit Excel 2016 oder einer späteren Version arbeitest.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul hinzuzufügen.

  3. Kopiere den folgenden Code in das Modul:

    Sub rechnen()
       Dim lngRow As Long
       For lngRow = 13 To 28
           Cells(4, 5) = Cells(lngRow, 2) ' E4 = Eingabewert
           Cells(lngRow, 3) = Cells(7, 5) ' C13, C14, ... = Ausgabe
       Next
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Drücke ALT + F8, wähle rechnen aus der Liste und klicke auf Ausführen.

Das Skript wird nun die Eingabewerte aus der Spalte B (B13 bis B28) verwenden und die Ergebnisse in der Spalte C ausgeben.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004"
    Lösung: Stelle sicher, dass die Zellen B13 bis B28 tatsächlich Werte enthalten und die Referenzen korrekt sind.

  • Fehler: "Typkonflikt"
    Lösung: Überprüfe, ob die Zellen, die du verwendest, die richtigen Datentypen (z.B. Zahlen) enthalten.

  • Das Makro funktioniert nicht, obwohl ich alles richtig gemacht habe.
    Lösung: Überprüfe, ob Makros in Excel aktiviert sind. Du kannst dies unter Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen tun.


Alternative Methoden

Neben der Verwendung von VBA kannst du auch die Funktion WVERWEIS oder SVERWEIS in Excel nutzen, um Werte aus einer Liste auszulesen, ohne ein Makro zu schreiben. Hier ein Beispiel für die Verwendung von SVERWEIS:

=SVERWEIS(B13;A1:C28;3;FALSCH)

Diese Formel sucht den Wert in B13 in der ersten Spalte des Bereichs A1:C28 und gibt den Wert in der dritten Spalte zurück.


Praktische Beispiele

Angenommen, du hast folgende Werte in der Spalte B:

B C
10
20
30
40

Wenn du das Makro ausführst, wird in Spalte C der Wert in E7 für jede Zeile in C ausgegeben, basierend auf den Eingabewerten in Spalte B.


Tipps für Profis

  • Wenn du häufig mit Makros arbeitest, erwäge, benutzerdefinierte Schaltflächen in der Excel-Symbolleiste zu erstellen, um deine Makros schneller auszuführen.
  • Nutze das Debug.Print-Statement in deinem VBA-Code, um Werte während der Ausführung des Makros zu überprüfen und Fehler leichter zu finden.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um mehr Zeilen zu verarbeiten?
Du kannst die Schleife im Code anpassen, indem du die Werte in For lngRow = 13 To 28 änderst, um den gewünschten Bereich zu erweitern.

2. Funktioniert das auch in älteren Excel-Versionen?
Ja, die grundlegende VBA-Syntax ist in Excel 2010, 2013 und 2016 ähnlich. Achte darauf, dass Makros in den älteren Versionen aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige