Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1252to1256
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
Bei Doppelklick Wert in InputBox einfügen
Heinz
Guten morgen,im Forum
Habe unteren Code Dankender weise von Josef Ehrensberger bekommen.
Ich möchte aber wenn ich in den Sheets Jänner bis Dezember in die Zellen A3A154 Doppelklicke,das mir der Wert automatisch in die InputBox eingefügt wird.
Könnte mir dazu bitte jemand helfen?
**********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
Option Explicit
Sub Suche_Namen()
Dim iIndex%, strSuch_Name$
Dim vntSheets As Variant
Dim lngCalc As Long
On Error GoTo ErrExit
With Application
.ScreenUpdating = False
.EnableEvents = False
lngCalc = .Calculation
.Calculation = xlCalculationManual
.DisplayAlerts = False
End With
vntSheets = Array("Jänner", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", _
"September", "Oktober", "November", "Dezember")
strSuch_Name = InputBox("Geben Sie den Namen ein den Sie suchen möchten", "Name Suchen")
If StrPtr(strSuch_Name) = 0 Then GoTo ErrExit
With Worksheets("MA")
For iIndex = 0 To UBound(vntSheets)
.Rows(iIndex * 4 + 3).ClearContents
Find_And_Copy Worksheets(vntSheets(iIndex)).Columns(1), strSuch_Name, .Cells(iIndex * 4 +  _
3, 1)
Next
End With
ErrExit:
With Err
If .Number  0 Then
MsgBox "Fehler in Prozedur:" & vbTab & "'Suche_Namen'" & vbLf & String(60, "_") & vbLf &  _
vbLf & _
IIf(Erl, "Fehler in Zeile:" & vbTab & Erl & vbLf & vbLf, "") & "Fehlernummer:" & vbTab & _
_
.Number & vbLf & vbLf & "Beschreibung:" & vbTab & .Description & vbLf, vbExclamation +  _
_
vbMsgBoxSetForeground, "VBA - Fehler in Modul - Modul1"
.Clear
End If
End With
On Error GoTo 0
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = lngCalc
.DisplayAlerts = True
End With
End Sub
Sub Find_And_Copy(rngBereich As Range, strSuch_Name$, Destination As Range)
Dim rngCell As Range
Set rngCell = rngBereich.Find(What:=strSuch_Name, LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not rngCell Is Nothing Then rngCell.EntireRow.Copy Destination
Set rngCell = Nothing
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A3:A154")) Is Nothing Then
Cancel = True
Sheets("MA").Activate
End If
Call Suche_Namen
End Sub
Gruß
Heinz
AW: Bei Doppelklick Wert in InputBox einfügen
19.03.2012 12:52:24
Rudi
Hallo,
so?
Sub Suche_Namen(strSuch As String)
Dim iIndex%, strSuch_Name$
Dim vntSheets As Variant
Dim lngCalc As Long
On Error GoTo ErrExit
With Application
.ScreenUpdating = False
.EnableEvents = False
lngCalc = .Calculation
.Calculation = xlCalculationManual
.DisplayAlerts = False
End With
vntSheets = Array("Jänner", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", _
"September", "Oktober", "November", "Dezember")
strSuch_Name = InputBox("Geben Sie den Namen ein den Sie suchen möchten", "Namen suchen",  _
strSuch)
If StrPtr(strSuch_Name) = 0 Then GoTo ErrExit
With Worksheets("MA")
For iIndex = 0 To UBound(vntSheets)
.Rows(iIndex * 4 + 3).ClearContents
Find_And_Copy Worksheets(vntSheets(iIndex)).Columns(1), strSuch_Name, .Cells(iIndex * 4 +  _
_
3, 1)
Next
End With
ErrExit:
With Err
If .Number  0 Then
MsgBox "Fehler in Prozedur:" & vbTab & "'Suche_Namen'" & vbLf & String(60, "_") & vbLf &  _
vbLf & _
IIf(Erl, "Fehler in Zeile:" & vbTab & Erl & vbLf & vbLf, "") & "Fehlernummer:" & vbTab & _
_
.Number & vbLf & vbLf & "Beschreibung:" & vbTab & .Description & vbLf, vbExclamation +  _
_
vbMsgBoxSetForeground, "VBA - Fehler in Modul - Modul1"
.Clear
End If
End With
On Error GoTo 0
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = lngCalc
.DisplayAlerts = True
End With
End Sub
Sub Find_And_Copy(rngBereich As Range, strSuch_Name$, Destination As Range)
Dim rngCell As Range
Set rngCell = rngBereich.Find(What:=strSuch_Name, LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not rngCell Is Nothing Then rngCell.EntireRow.Copy Destination
Set rngCell = Nothing
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A3:A154")) Is Nothing Then
Cancel = True
Sheets("MA").Activate
End If
Suche_Namen Target
End Sub
Gruß
Rudi
Anzeige
AW: Bei Doppelklick Wert in InputBox einfügen
19.03.2012 13:04:35
Heinz
Hallo Rudi
Bekomme leider im Sheets "Jänner" folgende Fehlermeldung.
Userbild
Gruß
Heinz
AW: Bei Doppelklick Wert in InputBox einfügen
19.03.2012 13:45:27
Rudi
Hallo,
versuchs mal mit
Sub Suche_Namen(byVal strSuch As String)
End Sub
Gruß
Rudi
AW: Bei Doppelklick Wert in InputBox einfügen
19.03.2012 16:47:56
Heinz
Hallo Rudi
Du hast genau ins schwarze getroffen.
Recht herzlichen D A N K !!
Gruß
Heinz
AW: Bei Doppelklick Wert in InputBox einfügen
21.03.2012 10:37:06
Heinz
Hallo Rudi
Ich habe im Sheets Jänner folgenden Code eingegeben.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A3:A154")) Is Nothing Then
Cancel = True
'Cancel = Not Target.Column = 1
Sheets("MA").Activate
End If
Suche_Namen Target
End Sub
Nun kann ich ABER im ganzen Blatt einen Doppelklick ausführen,und der Code wierd aktiv.
Ich möchte ABER nur in A3:A154 einen Doppelklick ausführen dürfen.
Könntest du mir bitte nochmals weiterhelfen?
Gruß
Heinz
Weiter Code von dir
Option Explicit
Sub Suche_Namen(ByVal strSuch As String)
Dim iIndex%, strSuch_Name$
Dim vntSheets As Variant
Dim lngCalc As Long
On Error GoTo ErrExit
Call BlattSchutz_Aufheben
With Application
.ScreenUpdating = False
.EnableEvents = False
lngCalc = .Calculation
.Calculation = xlCalculationManual
.DisplayAlerts = False
End With
vntSheets = Array("Jänner", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", _
"September", "Oktober", "November", "Dezember")
strSuch_Name = InputBox("Geben Sie den Namen ein den Sie suchen möchten", "Namen suchen", _
strSuch)
If StrPtr(strSuch_Name) = 0 Then GoTo ErrExit
With Worksheets("MA")
For iIndex = 0 To UBound(vntSheets)
.Rows(iIndex * 4 + 3).ClearContents
Find_And_Copy Worksheets(vntSheets(iIndex)).Columns(1), strSuch_Name, .Cells(iIndex * 4 +  _
_
3, 1)
Next
End With
ErrExit:
With Err
If .Number  0 Then
MsgBox "Fehler in Prozedur:" & vbTab & "'Suche_Namen'" & vbLf & String(60, "_") & vbLf &  _
_
vbLf & _
IIf(Erl, "Fehler in Zeile:" & vbTab & Erl & vbLf & vbLf, "") & "Fehlernummer:" & vbTab & _
_
.Number & vbLf & vbLf & "Beschreibung:" & vbTab & .Description & vbLf, vbExclamation +  _
_
vbMsgBoxSetForeground, "VBA - Fehler in Modul - Modul1"
.Clear
End If
End With
On Error GoTo 0
Call BlattSchutz_Ein
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = lngCalc
.DisplayAlerts = True
End With
End Sub
Sub Find_And_Copy(rngBereich As Range, strSuch_Name$, Destination As Range)
Dim rngCell As Range
Set rngCell = rngBereich.Find(What:=strSuch_Name, LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not rngCell Is Nothing Then rngCell.EntireRow.Copy Destination
Set rngCell = Nothing
End Sub

Anzeige
AW: Bei Doppelklick Wert in InputBox einfügen
21.03.2012 17:39:36
Sheldon
Hallo Heinz,
Der Aufruf von Suche_Namen steht ja auch außerhalb der If-Schleife. D.h. es wird erst geprüft, ob der Doppelklick ausgeführt wurde auf einer Zelle innerhalb von A3:A154. Falls nicht, wird die Variable Cancel auf true gesetzt. Danach wird die If-Schleife beendet und in jedem Fall Suche_Namen gestartet.
Füge also der If-Schleife ein Else hinzu, schreibe darunter dann den nachfolgenden Code und schließe sie dann erst per End If. Also so:
If Not Intersect(Target, Range("A3:A154")) Is Nothing Then
Cancel = True
'Cancel = Not Target.Column = 1
Sheets("MA").Activate
Else
Suche_Namen Target
End If
End Sub
Gruß
Sheldon
Anzeige
AW: Bei Doppelklick Wert in InputBox einfügen
21.03.2012 18:57:18
Heinz
Hallo Sheldon
Leider stimmt da etwas nicht. Jetzt ist es genau umgekehrt.
Jetzt öffnet sich die InputBox bei allen anderen Zellen,
nur nicht bei A3:A154.
Habe die Datei angehängt.
Gruß
Heinz
https://www.herber.de/bbs/user/79481.zip
AW: Bei Doppelklick Wert in InputBox einfügen
22.03.2012 01:33:06
Sheldon
Hallo Heinz,
sorry, mein Fehler... Die If-Bedingung ist If Not Intersect... das hatte ich übersehen. In dem Fall so:
If Not Intersect(Target, Range("A3:A154")) Is Nothing Then
Cancel = True
'Cancel = Not Target.Column = 1
Sheets("MA").Activate
Suche_Namen Target
End If
End Sub
Gruß
Sheldon
Anzeige
AW: Bei Doppelklick Wert in InputBox einfügen
22.03.2012 01:49:29
Heinz
Hallo Sheldon
Jetzt funktioniert es mit dem Doppelklick bei A3:A154 DANKE.
Nur einen Fehler habe ich bemerkt.
Wenn ich auf C3:AG 154 einen Doppelcklick mache,wird der Wert der Zelle gelöscht.
Wüsstest du da auch wieder eine Hilfe?
Danke Heinz
AW: Bei Doppelklick Wert in InputBox einfügen
22.03.2012 01:57:21
Heinz
Hallo Sheldon
Habe das Problem behoben.
Schau mal bitte in den Exceloptionen (Menüleiste Extras => Optionen) in der Registerkarte Bearbeiten nach. Dort gibt es unter Einstellungen den Punkt direkte Zellbearbeitung aktivieren. Der müsste bei Dir angehakt sein. Deaktiviere den Punkt und es sollte nach einem Klick auf OK die Zelle nicht mehr zum Bearbeiten geöffnet werden bei einem Doppelklick.
Recht herzlichen DANK für deine Hilfe
Gruß
Heinz
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige