Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: If Target.Address

If Target.Address
08.03.2004 20:19:02
Ernst Dunkel
Guten Abend Forum
Kann mir bitte jemand in VBA weiter helfen.
Bei Eingabe eines Wertes in E6 (Raumnummer) soll das Geschoss bestimmt werden bzw. in H7 eingesetzt werden.
Z.B. bei Eingabe von 101 in “E6“ wird in “H7“ 1.OG eingesetzt.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = ("$E$6") Then
………………………
Wenn E6 < 0 dann H7 = UG
Wenn E6 < 100 dann H7 = EG
Wenn E6 < 200 dann H7 = 1.OG
usw.
Mit freundlichen Grüßen
Ernst Dunkel
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If Target.Address
08.03.2004 20:27:32
Beni
Hallo Ernst,
Gruss Beni

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = ("$E$6") Then
If [E6] < 0 Then [H7] = "UG"
If E6 < 100 Then [H7] = "EG"
If [E6] < 200 Then [H7] = "1.OG"
If [E6] < 300 Then [H7] = "2.OG"
End If
End Sub

Anzeige
AW: If Target.Address
08.03.2004 20:31:43
Ernst Dunkel
Hallo Beni
Vielen Dank, es funktioniert.
mfg
Ernst Dunkel
AW: If Target.Address
08.03.2004 20:43:37
PeterW
Hallo Ernst,
wenn es auch um Hochhäuser geht ist das vielleicht etwas übersichtlicher:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$E$6" Then
Select Case Target
Case Is < 0
[H7] = "UG"
Case Is < 100
[H7] = "EG"
Case Is >= 100
[H7] = Int(Target / 100) & ". OG"
End Select
End If
End Sub

Gruß
Peter
Anzeige
AW: If Target.Address
08.03.2004 23:44:49
Ernst Dunkel
Guten Abend Peter
Der Code ist genial, ich denke er wäre was für das Archiv.
Ich wünsche Dir noch eine schöne Woche und auf einander mal.
Mit freundlichen Grüssen
Ernst Dunkel
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Mit VBA das Target.Address in Excel nutzen


Schritt-für-Schritt-Anleitung

Um die Target.Address in Excel VBA zu verwenden, befolge diese Schritte:

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

  2. Wähle das Arbeitsblatt aus, in dem Du die Eingabeveränderungen überwachen möchtest (z.B. Sheet1).

  3. Füge den folgenden Code in das Codefenster ein:

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
       If Target.Address = "$E$6" Then
           If Target.Value < 0 Then
               Target.Offset(1, 2).Value = "UG" ' H7 wird gesetzt
           ElseIf Target.Value < 100 Then
               Target.Offset(1, 2).Value = "EG"
           ElseIf Target.Value < 200 Then
               Target.Offset(1, 2).Value = "1.OG"
           Else
               Target.Offset(1, 2).Value = Int(Target.Value / 100) & ". OG"
           End If
       End If
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Deinem Arbeitsblatt.

  5. Teste die Funktion, indem Du einen Wert in Zelle E6 eingibst.

Dieser Code überprüft die Eingabe in Zelle E6 und setzt automatisch den entsprechenden Wert in H7.


Häufige Fehler und Lösungen

  • Fehler: Target.Address wird nicht erkannt

    • Lösung: Stelle sicher, dass Du den Code im richtigen Arbeitsblattmodul eingefügt hast.
  • Fehler: Der Wert in H7 bleibt leer

    • Lösung: Überprüfe, ob die Eingabe in E6 tatsächlich innerhalb der definierten Bereiche liegt.

Alternative Methoden

Eine elegante Methode zur Handhabung von mehreren Bedingungen ist die Verwendung von Select Case. Hier ein Beispiel:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Address = "$E$6" Then
        Select Case Target.Value
            Case Is < 0
                [H7] = "UG"
            Case Is < 100
                [H7] = "EG"
            Case Is >= 100
                [H7] = Int(Target.Value / 100) & ". OG"
        End Select
    End If
End Sub

Diese Methode ist übersichtlicher, besonders wenn Du mit mehr Bedingungen arbeitest.


Praktische Beispiele

Nehmen wir an, Du möchtest die Eingaben für verschiedene Stockwerke in einem Hochhaus verwalten. Mit dem obenstehenden Code kannst Du sehr einfach die Eingabe in E6 überwachen und das jeweilige Stockwerk in H7 ausgeben.

Hier ein Beispiel für die Funktionalität:

  • Eingabe 150 in E6 ➜ Ausgabe 1. OG in H7
  • Eingabe 50 in E6 ➜ Ausgabe EG in H7

Tipps für Profis

  • Nutze Target.Address in Verbindung mit If-Bedingungen, um präzise auf Änderungen in mehreren Zellen zu reagieren.
  • Achte darauf, dass die Zellen, die Du überwachen möchtest, gut dokumentiert sind, um zukünftige Anpassungen zu erleichtern.
  • Wenn Du mit mehreren Eingabefeldern arbeitest, kannst Du eine Liste von Adressen erstellen und diese durchlaufen, um den Code zu optimieren.

FAQ: Häufige Fragen

1. Was ist Target.Address? Target.Address ist eine Eigenschaft in Excel VBA, die die Adresse der Zelle zurückgibt, die geändert wurde.

2. Wie kann ich mehrere Zellen gleichzeitig überwachen? Du kannst eine Schleife verwenden, um die Adressen mehrerer Zellen zu überprüfen, oder If-Bedingungen für jede Zelle definieren.

3. Wie funktioniert der Code, wenn die Eingabe in E6 ist? Wenn die Eingabe in E6 erfolgt, überprüft der Code die Bedingungen und setzt den Wert in H7 entsprechend.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige