Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1404to1408
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

kurze Frage...

kurze Frage...
27.01.2015 15:24:08
dip
Hallo Allerseits,
Dies funktioniert leider nicht:
Public Const SpalteKlick As Long = 1 Or 3 Or 7
Wie wäre es korrekt?
Danke und Beste Grüsse
Patrick

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

Betreff
Datum
Anwender
Anzeige
AW: kurze Frage...
27.01.2015 15:25:54
Klaus
Hallo Patrick,
ein Const ist KONSTANT, das sagt schon der Name. Woher soll Excel denn wissen, ob es 1 oder 3 oder 7 wählen soll ...
Was hast du vor?
Grüße,
Klaus M.vdT.

AW: kurze Frage...
27.01.2015 15:28:18
dip
Hallo Klaus,
wenn der Benutzer in Spalte 1, 3, oder 7 doppelklickt, dann soll ein UserForm starten...

kurze Antwort...
27.01.2015 15:36:12
Matthias
Hi
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Target.Column = 1 Or Target.Column = 3 Or Target.Column = 7 Then
Userform.Show
End If
End Sub

Gruß Matthias

Anzeige
AW: kurze Frage...
27.01.2015 15:41:04
Klaus
Hi Dip,
prüfe, ob "target" in Spalte 1,3 oder 7 liegt. Da eine Range niemals CONST sein darf, behelfe dir mit einem STRING aus dem du das Range machst.
Option Explicit
Const SpalteKlick As String = "A:A,C:C,G:G"
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim r As Range
Set r = Range(SpalteKlick)
If Not Intersect(Target, r) Is Nothing Then
Cancel = True
UserForm1.Show
End If
End Sub
Hat es einen speziellen Grund, dass SpalteKlick publik sein soll? Hab ich jetzt einfach übernommen.
Grüße,
Klaus M.vdT.

Anzeige
AW: kurze Frage...
27.01.2015 16:18:42
dip
Hallo Klaus,
Danke für dein Makro, das funktioniert :-) (Auch ein Danke an das Feedback von Matthias :-))
wäre es möglich noch folgende zwei Bedingungen einzubauen?
Range nur ab Zeile 17 und das Formular wird nur gestartet, wenn auf der gleichen Zeile in Spalte J in der Zelle der Wert "00" steht
Public, da das UserForm in einem zentralen Addin ist, die Datei des Benutzers hat einen Verweis zu diesem Addin...
Grüsse
Patrick

Deshalb muss die Konstante aber weder ...
27.01.2015 17:21:49
Luc:-?
…öffentlich (Public für alle Module) global noch überhaupt global sein, Patrick;
das muss sie nur dann sein, wenn sie in mehreren Prozeduren verwendet wdn soll, die im 1.Fall außerdem in unterschiedlichen Modulen liegen (dann muss die Konstante von dort aber stets mit Angabe des StandOrtModuls aufgerufen wdn, hier also bspw Tabelle1.SpalteKlick.
Ansonsten Const abZeile As Long = 17, vglSp As Long = 10 ergänzen und den Vgl so formulieren:
Set r = Me.Range(SpalteKlick)    'Anm: VBE-Intellisense zeigt Fehler an, fktt aber!
If Target.Row >= abZeile And Not Intersect(Target, r) Is Nothing Then
Let Cancel = Me.Cells(Target.Row, vglSp) = "00"
If Cancel Then UserForm1.Show
End If
Gruß, Luc :-?
Besser informiert mit …
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige