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

Forumthread: excel vba bestimmte zelle ansprechen

excel vba bestimmte zelle ansprechen
28.12.2016 12:45:02
MichaelP
Hallo Zusammen,
ich stehe irgendwo auf'm Schlauch :-)
Hier habe ich eine nette Kalender-VBA und versuche diese (hier Original) zu ändern/anzupassen:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Kalenderaufruf
If Target.Column  2 Then Exit Sub
Call OpenCalendar
End Sub
Der Kalender sollte nur über die "B11"-Zelle aufgerufen werden nicht die komplette "B"-Spalte.
Hier sind ein paar vergebliche Versuche:
Rem If Target.Cells = "$B$11" Then Exit Sub
Rem If Target.Range("B11").Select Then Exit Sub
Rem If Target.Select = "B11" Then Exit Sub
Rem If Target.Address = "$B$11" Then Exit Sub
Rem If Target.Address = "B11" Then Exit Sub
Rem If Cells("B11").Select Then Exit Sub
Rem If Target.Cells("B11") Then Exit Sub
Kenne mich in VBA nur leidlich aus.
Danke + Gruß
Michael
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: excel vba bestimmte zelle ansprechen
28.12.2016 12:52:24
Hajo_Zi
If Target.Address = "$B$11" Then OpenCalendar

AW: excel vba bestimmte zelle ansprechen
28.12.2016 12:55:41
guenni

If Target.Address = "$B$11" then
Call OpenCalendar
end if

AW: excel vba bestimmte zelle ansprechen
28.12.2016 13:03:48
Gerd
Hallo Michael,
bei deinen nicht so schlechten Versuchen hast du i.d.R. und = verwechselt.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Kalenderaufruf
Cancel = True 'beruhigt den Cursor
If Target.Address = "$B$11" Then
Call OpenCalendar
End If
End Sub
Gruß Gerd
Anzeige
Es sitzt wackelt + hat Luft: Danke :-)
28.12.2016 13:44:41
MichaelP
Hallo Zusammen,
es funktioniert ...
Danke + einen guten Rutsch ins neue Jahr ...
Michael
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Bestimmte Zelle in Excel VBA ansprechen


Schritt-für-Schritt-Anleitung

Um in Excel VBA eine bestimmte Zelle anzusprechen, kannst du den folgenden Code verwenden. Dieser Code sorgt dafür, dass der Kalender nur durch einen Doppelklick auf die Zelle "B11" geöffnet wird.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    ' Kalenderaufruf
    Cancel = True ' Verhindert das Standardverhalten des Doppelklicks
    If Target.Address = "$B$11" Then
        Call OpenCalendar
    End If
End Sub
  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle das entsprechende Arbeitsblatt aus dem Projektfenster aus.
  3. Füge den obigen Code in das Codefenster ein.
  4. Schließe den VBA-Editor und teste die Funktion, indem du auf die Zelle "B11" doppelklickst.

Häufige Fehler und Lösungen

  • Fehler: Der Kalender öffnet sich nicht.

    • Lösung: Überprüfe, ob der Code korrekt in das richtige Arbeitsblatt eingefügt wurde und die Funktion OpenCalendar existiert.
  • Fehler: Doppelklick auf andere Zellen öffnet ebenfalls den Kalender.

    • Lösung: Stelle sicher, dass im Code nur die Adresse "$B$11" überprüft wird.
  • Fehler: Der Code wird nicht ausgeführt.

    • Lösung: Überprüfe, ob die Makros aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center und aktiviere die Makros.

Alternative Methoden

Es gibt verschiedene Wege, um eine Zelle in VBA anzusprechen. Eine Alternative wäre, eine bestimmte Zelle zu überprüfen und gleichzeitig mehrere Zellen anzusprechen. Hier ein Beispiel:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    ' Kalenderaufruf für mehrere Zellen
    Cancel = True
    If Not Intersect(Target, Me.Range("B11, B12")) Is Nothing Then
        Call OpenCalendar
    End If
End Sub

In diesem Beispiel öffnet sich der Kalender, wenn du auf "B11" oder "B12" doppelklickst.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du verschiedene Zellen ansprechen kannst:

  1. Eine spezifische Zelle ansprechen:

    If Target.Address = "$B$11" Then
       ' Aktion für B11
    End If
  2. Mehrere Zellen ansprechen:

    If Not Intersect(Target, Me.Range("B11:B20")) Is Nothing Then
       ' Aktion für die Zellen B11 bis B20
    End If
  3. Zelle ansprechen mit einer Bedingung:

    If Target.Value > 10 Then
       ' Aktion für Zellen mit Werten größer als 10
    End If

Tipps für Profis

  • Verwende Intersect, um mehrere Zellen effizient zu überprüfen.
  • Dokumentiere deinen Code mit Kommentaren, um die Lesbarkeit zu erhöhen.
  • Teste deinen Code regelmäßig, um sicherzustellen, dass er wie gewünscht funktioniert und um Fehler frühzeitig zu erkennen.
  • Nutze die Möglichkeit, den Cursor mit Cancel = True zu beruhigen, um das Standardverhalten von Doppelklicks zu verhindern.

FAQ: Häufige Fragen

1. Wie spreche ich eine Zelle in VBA an?
Du kannst eine Zelle in VBA ansprechen, indem du ihre Adresse mit Target.Address überprüfst.

2. Was bewirkt der Befehl Cancel = True?
Dieser Befehl verhindert das Standardverhalten eines Doppelklicks, sodass du nur die gewünschte Aktion ausführen kannst.

3. Kann ich mehrere Zellen gleichzeitig ansprechen?
Ja, du kannst mehrere Zellen ansprechen, indem du die Intersect-Funktion verwendest.

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