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

Zelladresse aus zwei Zellen zusammensetzen

Forumthread: Zelladresse aus zwei Zellen zusammensetzen

Zelladresse aus zwei Zellen zusammensetzen
06.07.2017 17:09:39
Janina
Guten Tag,
auf Knopfdruck in Tabelle1 möchte ich, dass geprüft wird, ob eine Zelle in Tabelle2, dessen Adresse sich aus zwei verschiedenen Zellen in Tabelle2 (eine für Spalte, eine für Zeile) zusammensetzt, leer ist. Wenn dies der Fall ist, soll die vorherige Zelle ebenfalls geprüft werden, ob sie leer ist. Wenn nun beide Zellen leer sind, soll in eine Zelle in Tabelle3 (dessen Adresse sich aus zwei verschiedenen Zellen) ein "x" geschrieben werden.
Sollte in einer der beiden Zellen ein Wert gefunden werden, soll nichts geschehen und die gleiche Prozedur für zwei andere Zellen durchgeführt werden.
Mein eher unfruchtbarer Ansatz sieht wie folgt aus:
If Worksheets("Tabelle2").Cells("A1","B1").Value = "" Then
If Worksheets("Tabelle2").Cells("A1","B2").Value = "" Then
Worksheets("Tabelle3").Cells("A1","B1").Value = "x"
Else
Worksheets("Agenda 2017").Cells("A1","B1").Value = ""
End If
Ich bin für jede Idee dankbar.
Janina
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelladresse aus zwei Zellen zusammensetzen
06.07.2017 17:12:12
Hajo_Zi
Halo Janina,
.Cells(Range("A1",Range("B1").
Du möchtest ja die Zellen auslesen?

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Anzeige
AW: Zelladresse aus zwei Zellen zusammensetzen
07.07.2017 08:55:51
Janina
Guten Morgen!
Vielen Dank für die schnelle Antwort. Ich habe Deinen Vorschlag wie folgt umgesetzt:
If Worksheets("Tabelle2").Cells(Range("A1"), Range("B1")).Value = "" Then
Und erhalte dann den Fehler 1004.
In Zelle A1 steht die Nummer der Linie und in Zelle B1 die Nummer der Spalte, aus denen sich die Adresse der Zelle zusammensetzt, die geprüft werden soll, ob sie einen Wert enthält. Ich habe auch noch eine Zelle C1, in der die per ADRESSE-Formel aus A1 und B1 zusammengesetzte Adresse steht. Wäre das vielleicht einfacher einzubauen?
Grüße,
Janina
Anzeige
AW: Zelladresse aus zwei Zellen zusammensetzen
07.07.2017 10:09:07
UweD
Hallo
ungetestet...
wenn es nicht das aktuelle Blatt ist, dann ALLE Blattbezüge verwenden
If Worksheets("Tabelle2").Cells(Worksheets("Tabelle2").Range("A1"), _ Worksheets("Tabelle2"). _
Range("B1")).Value = "" Then
oder kürzer
with Worksheets("Tabelle2")
If .Cells(.Range("A1"), .Range("B1")).Value = "" Then
end with

LG UweD
Anzeige
AW: Zelladresse aus zwei Zellen zusammensetzen
07.07.2017 11:21:18
Janina
Genial, das funktioniert, vielen Dank!!
Nun ist in der Zwischenzeit noch eine Kleinigkeit aufgetaucht. Bis jetzt wollte ich nur die vorherigen zwei oder drei Zellen auf Inhalt prüfen, kein Problem, ich habe einfach die Zeile kopiert und die Zelladresse geändert. Nun habe ich habe einen Fall, in dem ich die vorherigen 24 Zellen auf Inhalt prüfen will und wenn diese leer sind setze ich ein x. Gibt es da eine schnellere Möglichkeit als die Zeile 24 Mal zu kopieren?
Grüße,
Janina
Anzeige
AW: Zelladresse aus zwei Zellen zusammensetzen
07.07.2017 13:50:23
UweD
hallo nochmal
eine Schleife drumbauen
    Dim i As Double
    With Worksheets("Tabelle2")
        For i = 1 To 24 'ohne Überschrift 
            If .Cells(.Cells(i, 2), .Cells(i, 1)).Value = "" Then
                MsgBox "Juhu"
            End If
        Next
    End With

LG UweD
Anzeige
AW: Zelladresse aus zwei Zellen zusammensetzen
07.07.2017 14:24:58
Hajo_Zi
Hallo Janina,
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.

Anzeige
AW: Zelladresse aus zwei Zellen zusammensetzen
07.07.2017 15:15:45
Janina
Hier ist die Datei:
https://www.herber.de/bbs/user/114746.xlsm
Bei der Schleife bekomme ich auch eine Fehlermeldung, allerdings wird der gewünschte Befehl trotzdem ausgeführt.
Grüße,
Janina
AW: Zelladresse aus zwei Zellen zusammensetzen
07.07.2017 15:46:00
Hajo_Zi
Hallo Janina,
ich kann leider nicht helfen, da ich den Code ".Cells(Range("A1"), Range("B1"))" nicht finden kann.
Ich bin dann raus.
Vielleicht findet jemand anderes den Code.
Die Dateien hat keine "Tabelle2"
Gruß Hajo
Anzeige
AW: Zelladresse aus zwei Zellen zusammensetzen
07.07.2017 16:07:36
Janina
Ich wollte meine Beschreibung vereinfachen, deshalb hatte ich Tabelle2 statt "2017" verwendet und Tabelle3 statt "Agenda 2017", die Zellen A1 und B1 standen für BF4 und BF3.
Recht herzlichen Dank an Euch, ihr habt mir sehr weitergeholfen, jetzt versuche ich erstmal alleine weiterzukommen.
Grüße,
Janina
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zelladresse aus zwei Zellen zusammensetzen


Schritt-für-Schritt-Anleitung

Um in Excel Zelladressen aus zwei Zellen zusammenzusetzen und deren Inhalt zu überprüfen, kannst du die folgenden Schritte ausführen:

  1. Zellreferenzen festlegen: Definiere in Tabelle2 die Zelle, die die Zeilennummer enthält (z.B. A1) und die Zelle, die die Spaltennummer enthält (z.B. B1).
  2. Zelladresse generieren: Verwende die ADRESSE-Funktion, um die Adresse der Zelle zu generieren, die du überprüfen möchtest. Zum Beispiel:
    =ADRESSE(A1;B1)
  3. VBA-Code einfügen: Öffne den VBA-Editor (ALT + F11) und füge den folgenden Code in ein Modul ein:
    Dim i As Long
    With Worksheets("Tabelle2")
       For i = 1 To 24
           If .Cells(.Range("A" & i).Value, .Range("B" & i).Value).Value = "" Then
               Worksheets("Tabelle3").Cells(i, 1).Value = "x"
           End If
       Next i
    End With

    Dieser Code prüft die ersten 24 Zeilen und setzt ein „x“ in Tabelle3, wenn die Zellen leer sind.


Häufige Fehler und Lösungen

  • Fehler 1004: Dieser Fehler tritt auf, wenn die Zelle nicht korrekt adressiert ist. Stelle sicher, dass die Zellreferenzen in der Cells-Methode korrekt sind.
  • Falsche Blattnamen: Überprüfe, ob die Blattnamen in deinem VBA-Code korrekt sind. Ein kleiner Schreibfehler kann zu einem Fehler führen.
  • Werte in Zellen: Stelle sicher, dass die Zellen, die die Zeilen- und Spaltennummern enthalten, tatsächlich numerische Werte haben. Andernfalls wird die Adresse nicht korrekt zusammengesetzt.

Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du die INDIREKT-Funktion in Excel nutzen, um eine Zelladresse dynamisch zu generieren:

  1. Setze in Zelle C1 die folgende Formel ein:
    =INDIREKT("Tabelle2!" & ADRESSE(A1;B1))
  2. Diese Formel gibt dir den Inhalt der Zelle zurück, deren Adresse aus den Werten in A1 und B1 zusammengesetzt ist.

Praktische Beispiele

  • Überprüfung einer bestimmten Zelle: Angenommen, in A1 steht die Zeile 3 und in B1 die Spalte 5:
    If Worksheets("Tabelle2").Cells(3, 5).Value = "" Then
      Worksheets("Tabelle3").Cells(1, 1).Value = "x"
    End If
  • Überprüfung mehrerer Zellen: Um mehrere Zellen zu überprüfen, kannst du eine Schleife verwenden, wie im vorherigen Abschnitt beschrieben.

Tipps für Profis

  • Verwende benannte Bereiche: Anstatt direkte Zellreferenzen zu verwenden, kannst du benannte Bereiche für eine bessere Lesbarkeit und Wartbarkeit deines Codes verwenden.
  • Fehlerbehandlung: Implementiere Fehlerbehandlung in deinem VBA-Code, um unerwartete Fehler zu vermeiden. Zum Beispiel:
    On Error Resume Next
    ' Dein Code hier
    On Error GoTo 0
  • Optimierung durch Arrays: Wenn du mit großen Datenmengen arbeitest, kann die Verwendung von Arrays die Performance deines Codes verbessern.

FAQ: Häufige Fragen

1. Wie kann ich die Adresse aus zwei Zellen in einer Formel verwenden? Du kannst die ADRESSE-Funktion verwenden, um die Zelladresse zu generieren und diese dann mit INDIREKT zu verwenden.

2. Was ist der Unterschied zwischen Cells und Range? Cells verwendet numerische Indizes für Zeile und Spalte, während Range mit Zellbezeichnern (z.B. "A1") arbeitet.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige