Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Doppelklick mit Return erzeugen

Doppelklick mit Return erzeugen
22.08.2018 18:46:38
Juergen
Hallo Forum!
Ich habe einen VBA erzeugt, der auf alle Zellen der Spalte L einen Hyperlink setzt.
Wenn ich diesen VBA in eine Tabelle einfüge, der bereits in Spalte L Werte stehen, muß ich jede Zelle in Spalte L mit Doppelklick für den VBA 'aktivieren'. Das ist bei mehreren hundert oder tausend Zeilen mühsam.
Wie kann ich ein Makro erzeugen, das den Doppelklick auf der jeweiligen Zelle (also L1,L2,L3 usw.) simuliert, wenn ich die Return-Taste drücke? Dann brauche ich nur die Return-Taste 'festhalten' und kann ihn einem Rutsch alle Zellen bearbeiten.
Wobei es ja letztlich gleich ist, welche Spalte ich bearbeite. Den Start in L1 kann ich ja manuell vornehmen.
Danke im Voraus für tolle Ideen
- Jürgen -
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Doppelklick mit Return erzeugen
22.08.2018 19:50:42
ransi
Hallo Jürgen,
...muß ich jede Zelle in Spalte L mit Doppelklick für den VBA 'aktivieren'. ...
Das glaub ich nicht!
Du musst keine Zelle selecten und activaten um sie zu bearbeiten.
Schau dir mal dies an:
https://www.online-excel.de/excel/singsel_vba.php?f=78
ransi
Anzeige
AW: Doppelklick mit Return erzeugen
22.08.2018 21:00:20
Sepp
Hallo Jürgen,
ich beschäftige mich schon lange mit Excel/VBA, aber einen VBA zu erzeugen, ist mir noch nie gelungen. Wenn schon, dann schreibe ich Code, der dann von Excel als VBA-Code interpretiert wird.
Zeig mal deinen Code, .Select und .Activate sind in XL zu 99,9% unnötig!
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Doppelklick mit Return erzeugen
28.08.2018 13:41:31
Juergen
Hallo Sepp!
Es geht ja nicht um den eigentlich VBA. Der funktioniert ja.
Hier der Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range, D As Range
Dim Ws As Worksheet
Set C = Range("L:L") 'In diesem Eingabebereich wirkt der Code
Set Ws = Worksheets("Tax_codes")
If Target.Count = 1 Then
If Not Intersect(Target, C) Is Nothing Then
'Es wird in Spalte 1 (A) gesucht
Set D = Ws.Columns(1).Find(what:=Target, lookat:=xlWhole, LookIn:=xlValues)
If Not D Is Nothing Then
Target.Hyperlinks.Add Anchor:=Target, Address:="", SubAddress:="Tax_codes!" & D. _
Address
Else
Target.Hyperlinks.Delete
End If
End If
End If
End Sub
Es geht nur darum, dass die Zellen in 'Range("L:L")' nicht automatisch mit dem Hyperlink belegt sind. Ich vermute, dass durch das Anklicken und Doppelklick auf der jeweiligen Zelle der Hyperlink erzeugt wird. Das kann bei (w.o. beschrieben) bei 500 bis 1000 Zellen recht mühselig werden.
Ich habe nun versucht, ein Makro zu erzeugen, das mir diese Arbeit abnimmt.
Es sieht wie folgt aus:
Sub Makro1()
'
' Makro1 Makro
'
' Tastenkombination: Strg+l
'
Range("K83").Select
ActiveCell.FormulaR1C1 = "GB215872893"
With ActiveCell.Characters(Start:=1, Length:=11).Font
.Name = "Calibri"
.FontStyle = "Standard"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Range("K88").Select
End Sub
Das Problem ist, dass das Makro die Zelle K83 (Range("K83")) direkt anspringt, den entsprechenden Zelleninhalt 'bestätigt' (durch Doppelklick) --> und dann wohl den Hyperlink erzeugt. So weit - so gut. Wenn ich dann STRG+L tippe, springt er natürlich wieder immer die gleiche Zelle.
Ich will aber, dass er nicht absolut die Zelle K83 in das Makro schreibt, sondern die Zelle, die ich gerade angeklickt habe. Durch Return springt er ja automatisch in die gleiche Zelle und eine Zeile weiter, dann soll er wieder Doppelklick machen u.s.w.
Ich hoffe, ich konnte mich einigermaßen verständlich ausdrücken.
Hast Du dazu eine Idee!
LG- Jürgen -
Anzeige
AW: Doppelklick mit Return erzeugen
28.08.2018 20:16:08
Sepp
Hallo Jürgen,
habe den Code getestet und es werden korrekte Hyperlinks erstellt!
Microsoft Excel Objekt Tabelle1
Option Explicit 
 
Private Sub Worksheet_Change(ByVal Target As Range) 
  Dim rng As Range 
  Dim objWS As Worksheet 
   
  If Not Intersect(Target, Range("L:L")) Is Nothing Then 
    If Target.Count = 1 Then 
      'Es wird in Spalte 1 (A) gesucht 
      Set objWS = Sheets("Tax_codes") 
      Set rng = objWS.Columns(1).Find(what:=Target, lookat:=xlWhole, LookIn:=xlValues) 
      If Not rng Is Nothing Then 
        Target.Hyperlinks.Add Anchor:=Target, Address:="", _
          SubAddress:="'" & objWS.Name & "'!" & rng.Address 
      Else 
        Target.Hyperlinks.Delete 
      End If 
    End If 
  End If 
   
  Set objWS = Nothing 
  Set rng = Nothing 
End Sub 
 
 
 
 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Dein Problem liegt woanders, wie ist den Spalte L:L formatiert?
 ABCDEF
1Gruß Sepp
2
3

Anzeige
Doppelklick mit Return erzeugen
30.08.2018 10:48:57
Juergen
Hallo Sepp!
Danke für Deine Rückmeldung.
Ich habe mich offenbar falsch ausgedrückt.
Ja - es werden in Spalte L:L korrekte Hyperlinks erstellt! Aber erst - wenn ich nach Einfügen des VBA Werte in L:L erfasse. Ich füge aber den VBA in eine Liste ein, in der bereits Werte in L:L stehen.
Nachdem ich den VBA eingefügt habe, muß ich jeden Wert in der Spalte L:L, also von L1 bis Ln anklicken und mit Doppelklick zur Bearbeitung vorsehen. Erst dann wird der Hyperlink eingefügt.
Der eigentlich VBA ist nicht das Problem, sondern ein Makro (s.o. 'Tastenkombination: Strg+l'), der mir die Arbeit des jeweiligen 'Doppelklickens und weiter in die nächste Zeile' abnehmen soll.
Liebe Grüße - Jürgen -
Anzeige
AW: Doppelklick mit Return erzeugen
02.09.2018 16:21:54
Juergen
Habs rausgefunden:
Eigentlich gaaaanz einfach:
Sub Makro1()
' Makro1 Makro
' Tastenkombination: Strg+l
ActiveCell.Select
ActiveCell.FormulaR1C1 = ActiveCell
ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Doppelklick mit Return in Excel automatisieren


Schritt-für-Schritt-Anleitung

Um einen Doppelklick in einer Zelle zu simulieren, wenn Du die Return-Taste drückst, kannst Du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle "Einfügen" > "Modul".
  3. Kopiere den folgenden Code in das Modul:

    Sub Makro1()
       ' Makro1 Makro
       ' Tastenkombination: Strg+l
       ActiveCell.Select
       ActiveCell.FormulaR1C1 = ActiveCell
       ActiveCell.Offset(1, 0).Range("A1").Select
    End Sub
  4. Weise eine Tastenkombination zu:

    • Gehe zurück zu Excel und drücke ALT + F8, wähle "Makro1" aus, klicke auf "Optionen" und weise eine Tastenkombination wie Strg + L zu.
  5. Verwende das Makro:

    • Klicke in die Zelle, die Du bearbeiten möchtest, drücke Strg + L, um den Doppelklick zu simulieren und in die nächste Zelle zu springen.

Häufige Fehler und Lösungen

  • Doppelklick funktioniert nicht:

    • Stelle sicher, dass das VBA-Makro korrekt in das Modul eingefügt wurde und dass Du die richtige Tastenkombination verwendest.
  • Hyperlinks werden nicht erstellt:

    • Überprüfe die Formatierung der Zellen in der Spalte L. Möglicherweise sind sie nicht als Text oder Hyperlink formatiert.
  • Makro springt immer zur gleichen Zelle:

    • Stelle sicher, dass Du ActiveCell anstelle von einer festen Zellreferenz verwendest, um die aktuell aktive Zelle zu bearbeiten.

Alternative Methoden

Wenn Du den Doppelklick in einer Zelle umgehen möchtest, kannst Du auch folgende Methoden ausprobieren:

  1. Excel in Zelle schreiben ohne Doppelklick:

    • Um die Zelle zu bearbeiten, klicke einfach auf die Zelle und beginne mit der Eingabe.
  2. Excel Zelle bearbeiten ohne Doppelklick:

    • Du kannst auch die F2-Taste verwenden, um eine Zelle zu bearbeiten, ohne sie doppelt anzuklicken.

Praktische Beispiele

Hier sind einige nützliche Beispiele, die zeigen, wie Du die oben genannten Methoden anwenden kannst:

  • Beispiel 1: Verwende das Makro, um in einer Liste von Hyperlinks in Spalte L zu navigieren.
  • Beispiel 2: Nutze F2, um in Zelle A1 zu bearbeiten und dann mit Enter in die nächste Zelle zu springen.

Tipps für Profis

  • VBA Doppelklick auf Zelle: Du kannst die Worksheet_Change-Ereignisprozedur verwenden, um auf Änderungen in Zellen zu reagieren und Hyperlinks automatisch zu erstellen.
  • Verwende With-Anweisungen: Optimiere Deinen Code, indem Du With-Anweisungen verwendest, um die Lesbarkeit zu verbessern und die Ausführungsgeschwindigkeit zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich einen Doppelklick auf Zelle simulieren?
Durch das Erstellen eines VBA-Makros kannst Du die Funktion eines Doppelklicks mit der Return-Taste nachahmen.

2. Was tun, wenn das Makro nicht funktioniert?
Überprüfe die Sicherheitseinstellungen in Excel, um sicherzustellen, dass Makros aktiviert sind.

3. Kann ich die Tastenkombination ändern?
Ja, Du kannst die Tastenkombination für das Makro ändern, indem Du im Makro-Dialogfeld auf "Optionen" klickst.

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