Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1676to1680
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

Bei Doppelklick Bereich nicht definiert

Bei Doppelklick Bereich nicht definiert
26.02.2019 10:54:05
Heinz
Hallo im Forum,
Habe eine Tabelle,wenn ich in der Spalte A einen Doppelklick mache sollte sich normal eine Userform öffnen.
Hier kommt aber immer die Fehlermeldung:
Set MeinBereich = Cells(Target.Row, 1)

Fehler beim Kompilieren.
Warum, habe leider keine Ahnung.
Könnte mir bitte jemand weiterhelfen? Danke
Heinz
Code im Tabellenblatt
'Bei Doppelklick in Spalte A
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Set MeinBereich = Cells(Target.Row, 1)
UserForm3.Show
Application.EnableEvents = True
Cancel = True
End Sub
Code in der Userform:
  • Option Explicit
    Private Sub CommandButton1_Click()
    With UserForm3
    MeinBereich = CDate(Format(.TextBox1, "dd.mm.yyyy"))
    MeinBereich.Offset(0, 1) = CDate(MeinBereich)
    MeinBereich.Offset(0, 2) = .TextBox2
    MeinBereich.Offset(0, 3) = .TextBox3
    MeinBereich.Offset(0, 4) = .TextBox4
    MeinBereich.Offset(0, 5) = .TextBox5
    MeinBereich.Offset(0, 11) = .TextBox6
    End With
    Unload Me
    End Sub
    Private Sub UserForm_Activate()
    With UserForm3
    .Label1.Caption = Cells(4, MeinBereich.Column)
    .TextBox1 = MeinBereich
    .Label2.Caption = Cells(4, MeinBereich.Offset(0, 2).Column)
    .TextBox2 = MeinBereich.Offset(0, 2)
    .Label3.Caption = Cells(4, MeinBereich.Offset(0, 3).Column)
    .TextBox3 = MeinBereich.Offset(0, 3)
    .Label4.Caption = Cells(4, MeinBereich.Offset(0, 4).Column)
    .TextBox4 = MeinBereich.Offset(0, 4)
    .Label5.Caption = Cells(4, MeinBereich.Offset(0, 5).Column)
    .TextBox5 = MeinBereich.Offset(0, 5)
    .Label6.Caption = Cells(4, MeinBereich.Offset(0, 11).Column)
    .TextBox6 = MeinBereich.Offset(0, 11)
    End With
    End Sub

  • Hier die Mappe
    https://www.herber.de/bbs/user/127936.xlsm

    15
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Bei Doppelklick Bereich nicht definiert
    26.02.2019 11:15:38
    EtoPHG
    Hallo Heinz,
    Wo ist den das Range-Objekt MeinBereich definiert (DIM)?
    Als VBA-Beginner ist es wichtig, dass in jedem Code-Modul als erste Zeile ein Option Explicit steht. Das kannst du im VBE-Editor unter Extras-Einstellungen-Variablendeklaration erforderlich als Standard einstellen! Damit meldet Dir der Compiler nicht deklarierte Variablen!
    Die Variable muss in einem Standard-Modul definiert sein, damit der restliche VBA-Code in anderen Codeklassen darauf Zugriff hat.
    Was willst Du mit diesem MeinBereich überhaupt erreichen?
    Warum benutzt Du nicht Target, denn das ist die Zelle, in welcher der Doppelklick stattfindet.
    Gruess Hansueli
    Anzeige
    AW: Bei Doppelklick Bereich nicht definiert
    26.02.2019 11:25:23
    Heinz
    Hallo Hansueli,
    Erstmals Danke für dein Feedback.
    Was willst Du mit diesem MeinBereich überhaupt erreichen?
    
    Ich möchte wenn ich zB. auf A33 klicke das mir Werte von zb. E33, F33 usw in die Textboxen eingetragen werden, bzw möchte ich in die TexTboxen einen Wert eingeben und dieser sollte zurückgeschrieben werden.
    In Spalte A habe ich Nummern durch das Datum ersetzt, da es in diesen gefunden Code um Datum geht.
    Danke & SG, Heinz
    AW: Bei Doppelklick Bereich nicht definiert
    26.02.2019 11:32:57
    EtoPHG
    Hallo Heinz,
    Da Target gleichzeitig die ActiveCell ist kann du dieses Objekt benutzen und von da aus die .Offset(s) referenzieren. Dazu brauchst du keine eigene Variable!
    Gruess Hansueli
    Anzeige
    AW: Bei Doppelklick Bereich nicht definiert
    26.02.2019 11:36:39
    Heinz
    Hallo Hansueli
    Könntest du mir bitte ein kleines Beispiel geben?
    Danke, Heinz
    AW: Bei Doppelklick Bereich nicht definiert
    26.02.2019 11:50:24
    Daniel
    naja, ersetze einfach im Code "MeinBereich" durch "ActiveCell"
    nach einem Doppelklick auf eine Zelle ist diese Zelle auch immer die aktive Zelle.
    Gruß Daniel
    AW: Bei Doppelklick Bereich nicht definiert
    26.02.2019 11:54:15
    Daniel
    Naja dann kann er doch auch gleich Target benutzen. Ich glaube die Frage ist eher, wie er mit Offset Zellen anspricht?
    Heinz, Target.Offset(0,1) würde zum Beispiel die Zelle rechts neben der aktiven Zelle ansprechen, Target.Offset(-1,-1) die Zelle links darüber.
    AW: Bei Doppelklick Bereich nicht definiert
    26.02.2019 12:11:06
    Daniel
    HI
    "Target" gilt aber nur im BeforeDoubleClick-Event-Makro
    die angeklickte Zelle wird aber im Activate-Event der Userform benötigt und die kennt kein Target.
    also muss man entweder "ActiveCell" verwenden was überall gültig ist und hier auf die gleiche Zelle verweist wie Target, oder man speichert TARGET in einer projektweit gültigen Variablen, welche in allen Makros der Datei bekannt ist.
    Gruß Daniel
    Anzeige
    AW: Bei Doppelklick Bereich nicht definiert
    26.02.2019 11:42:55
    Daniel
    Hi
    wenn du eine Variable wie "MeinBereich" in mehreren Makros verwenden willst, musst du sie in einem allgemeinen Modul (z.B. Modul1) oberhalb der Makros direkt unter Option Explicit mit Public deklarieren:
    Userbild
    Gruß Daniel
    AW: Bei Doppelklick Bereich nicht definiert
    26.02.2019 12:33:42
    Heinz
    Hallo an alle Helfer,
    Leider bekomme ich jetzt den Fehler hier:
    .Label1.Caption = Cells(4, ActiveCell.Offset(0, 1).Column)
    
    Hier der Code:
    Private Sub UserForm_Activate()
    With UserForm3
    .Label1.Caption = Cells(4, ActiveCell.Offset(0, 1).Column)
    .TextBox1 = ActiveCell.Offset(0, 1)
    .Label2.Caption = Cells(4, ActiveCell.Offset(0, 2).Column)
    .TextBox2 = ActiveCell.Offset(0, 2)
    .Label3.Caption = Cells(4, ActiveCell.Offset(0, 3).Column)
    .TextBox3 = ActiveCell.Offset(0, 3)
    .Label4.Caption = Cells(4, ActiveCell.Offset(0, 4).Column)
    .TextBox4 = ActiveCell.Offset(0, 4)
    .Label5.Caption = Cells(4, ActiveCell.Offset(0, 5).Column)
    .TextBox5 = ActiveCell.Offset(0, 5)
    .Label6.Caption = Cells(4, ActiveCell.Offset(0, 11).Column)
    .TextBox6 = ActiveCell.Offset(0, 11)
    End With
    End Sub
    
    Bin schon etwas neben der Spur-
    Recht herzlichen Dank an alle Helfer
    Heinz
    Anzeige
    AW: Bei Doppelklick Bereich nicht definiert
    26.02.2019 12:44:21
    Rudi
    Hallo,
    setz mal
    Cancel = True
    vor
    Userform3.Show
    Gruß
    Rudi
    AW: Bei Doppelklick Bereich nicht definiert
    26.02.2019 12:44:24
    EtoPHG
    Hallo Heinz,
    Mein Rat mit Option Explicit hast du offensichtlich in den Wind geschlagen!
    Cells ist ungenügend referenziert, wenn dann ActiveSheet.Cells...Aber du bist tatsächlich etwas neben der Spur und schiesst mit Kanonen auf Spatzen!
    .TextBox1 = ActiveCell.Offset(0, 1) müsste doch funktionieren. Also warum dann die Labelx.Caption so kompliziert füllen. Was ist denn an deiner Zeile 4 so wichtig?
    Gruess Hansueli
    AW: Bei Doppelklick Bereich nicht definiert
    26.02.2019 13:15:47
    Heinz
    Hallo Hansueli,
    Mein Rat mit Option Explicit hast du offensichtlich in den Wind geschlagen!
    
    Nein habe ich nicht. nur nicht mitkopiert.
    SG, Heinz
    Anzeige
    AW: Problem dürfte endlich gelöst sein.
    26.02.2019 13:21:17
    Heinz
    Hallo an ALLE Helfer
    So wie es aussieht läuft jetzt der Code richtig durch.
  • Option Explicit
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    With UserForm3
    .TextBox1.ControlSource = Target.Address
    .TextBox2.ControlSource = Target.Offset(1, 0).Address
    .TextBox3.ControlSource = Target.Offset(2, 0).Address
    .Show
    End With
    End Sub
    


  • Ich möchte mich bei allen Helfer für die Aufgebrachte Geduld mit mir, und die Hilfeleistungen
    recht herzlich bedanken.
    SG, Heinz
    AW: Problem dürfte endlich gelöst sein.
    26.02.2019 13:28:41
    Daniel
    Gute Lösung
    damit sparst du dir auch den Code für das Rückschreiben der Werte aus der Combobox in die Zellen.
    Gruß Daniel
    Anzeige
    Neue Frage zu auslesen
    27.02.2019 18:28:56
    Heinz
    Hallo Leute
    Der Code mit Doppelklick funktioniert einwandfrei.
    Nur wenn ich jetzt in der ComboBoxSAP einen neuen Wert eingebe wird nur bei TextBox6 + TextBox7
    der Wert neu eingelesen.
    Nur bei allen anderen Textboxen bleibt der alte Wert stehen,es wird also der neue Wert nicht zurückgegeben.
    Könntet ihr mir bitte abermals weiterhelfen?
    Danke
    SG, Heinz
    Option Explicit
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Sheets("AusDruck").Range("L1") = Target
    Cancel = True
    Cancel = True
    With Prüfmittel_eingeben
    On Error GoTo Ende
    'Code
    .ComboBoxSAP.ControlSource = Target.Address
    .TextBox6.ControlSource = Target.Offset(0, 2).Address 'Artikelnummer
    .TextBox7.ControlSource = Target.Offset(0, 1).Address 'Artikelbezeichnung
    .TextBox1.ControlSource = Target.Offset(0, 4).Address 'Innenkaliber_KE_1
    .Box_6.ControlSource = Target.Offset(0, 5).Address ' Box für Innenkalber KE_1
    .Innenkaliber_HE_1.ControlSource = Target.Offset(0, 6).Address
    .Box_8.ControlSource = Target.Offset(0, 7).Address
    .Innenkaliber_KE_2.ControlSource = Target.Offset(0, 8).Address
    .Box_10.ControlSource = Target.Offset(0, 9).Address
    .Innenkaliber_HE_2.ControlSource = Target.Offset(0, 10).Address
    .Box_12.ControlSource = Target.Offset(0, 11).Address
    .Show
    End With
    Ende:
    'leer
    End Sub
    

    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige