Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Doubleklick andere Mappe VBA


Betrifft: Doubleklick andere Mappe VBA von: Klaus
Geschrieben am: 16.10.2019 17:10:51

Hallo zusammen,

habe folgenden Code:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)    

If Target.Column = 6 Then
        Target = Selection
        Target = Date
        Dname = Target.Offset(0, -4).Value
        Sheets("Daten").Select

            For z = 3 To 1000
                If Dname = Cells(z, 4) Then
                    Cells(z, 14).Value = Date
                    Cells(z, 23).Value = 1
                    Exit For
                End If
            Next z

        Sheets("Daten2").Select
        End If

     
End Sub
leider funktioniert das nicht .. kann mir einer helfen?
Liegt es vielleicht daran, dass das Makro in einer anderen Mappe keine Werte ändern kann? Wenn ja, wie kann ich das umgehen?

jetzt schon einmal vielen Dank.

Gruß Klaus

  

Betrifft: AW: Doubleklick andere Mappe VBA von: Hajo_Zi
Geschrieben am: 16.10.2019 17:28:01

hAlo KLaus,

im Code wir kein Wert in eine andere Datei geschrieben.

Select, Activate usw. ist in VBA zu 99,8% nicht notwendig.
Der Cursor ist kein Hund der überall rumgeführt werden muss.
Hinweise zu select usw. Hajo-Excel.de
Hinweise zu select usw. Online-Excel.de
Hinweise zu select usw. Online-Excel.de
Der Cursor ist kein Hund, der überall rum geführt werden muss.

GrußformelHomepage


  

Betrifft: AW: Doubleklick andere Mappe VBA von: onur
Geschrieben am: 16.10.2019 17:43:01

"dass das Makro in einer anderen Mappe keine Werte ändern kann" ???
Was für eine andere Mappe denn? Du schaltest doch nur von Einem zum anderen Blatt um.
"leider funktioniert das nicht " ist nixsagend - WAS genau funktioniert denn nicht und was genau soll passieren, wenn es funktioniert?


  

Betrifft: AW: Doubleklick andere Mappe VBA von: Werner
Geschrieben am: 16.10.2019 17:42:14

Hallo Klaus,

versuch es mal so:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim strDname As String, raFund As Range

If Target.Column = 6 Then
    Cancel = True
    Target = Date
    strDname = Target.Offset(0, -4)
    
    With Worksheets("Daten")
        Set raFund = .Columns(4).Find(what:=strDname, LookIn:=xlValues, lookat:=xlWhole)
        If Not raFund Is Nothing Then
            .Cells(raFund.Row, 14) = Date
            .Cells(raFund.Row, 23) = 1
        Else
            MsgBox strDname & "konnte im Blatt Daten nicht gefunden werden."
        End If
    End With
End If
  
Set raFund = Nothing
End Sub
Gruß Werner


  

Betrifft: AW: Doubleklick andere Mappe VBA von: Nepumuk
Geschrieben am: 16.10.2019 17:46:35

Hallo Klaus,

in Modulen von Tabellen beziehen sich die Angaben von Cells ohne explizite Angabe der Tabelle immer auf die Tabelle in der sich der Code befindet. Daher:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    
    Dim Dname As Variant, Z As Long
    
    If Target.Column = 6 Then
        
        Target.Value = Date
        Dname = Target.Offset(0, -4).Value
        With Sheets("Daten")
            
            For Z = 3 To 1000
                If Dname = .Cells(Z, 4).Value Then
                    .Cells(Z, 14).Value = Date
                    .Cells(Z, 23).Value = 1
                    Exit For
                End If
            Next Z
        End With
    End If
End Sub

Gruß
Nepumuk


Beiträge aus dem Excel-Forum zum Thema "Doubleklick andere Mappe VBA"