Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1756to1760
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

VBA Makro bitte um Hilfe

VBA Makro bitte um Hilfe
16.05.2020 08:55:56
Tom
Hallo liebe Profis,
ich habe folgendes Makro vorliegen.

Sub Beleg()
' Beleg Makro
' Tastenkombination: Strg+b
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"l:\Meine Ablage\xx-001.pdf" _
, TextToDisplay:="Beleg"
With Selection.Font
.Name = "Arial"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleSingle
.ColorIndex = 5
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
End Sub

Nun möchte ich aber, dass das Makro nicht "l:\Meine Ablage\xx-001.pdf" als URL Adresse einträgt, sondern jeweils den aktuellen Inhalt der Zwischenablage. Also defakto STRG+V !
Wie müsste man das machen? Kann mir da bitte jemand einen Tipp geben :-)
Vielen herzlichen Dank,

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Makro bitte um Hilfe
16.05.2020 09:34:12
Nepumuk
Hallo Tom,
teste mal:
Option Explicit

Private Declare PtrSafe Function IsClipboardFormatAvailable Lib "user32.dll" ( _
    ByVal wFormat As Long) As Long

Private Const CF_TEXT As Long = 1&

Sub Beleg()
    '
    ' Beleg Makro
    '
    ' Tastenkombination: Strg+b
    '
    Dim objClipBoard As Object
    Dim strText As String
    
    If IsClipboardFormatAvailable(CF_TEXT) = 1 Then
        
        Set objClipBoard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        Call objClipBoard.GetFromClipboard
        strText = objClipBoard.GetText
        Set objClipBoard = Nothing
        
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
            strText, TextToDisplay:="Beleg"
        
        With Selection.Font
            .Name = "Arial"
            .Size = 11
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleSingle
            .ColorIndex = 5
            .TintAndShade = 0
            .ThemeFont = xlThemeFontNone
        End With
    Else
        Call MsgBox("Kein Text in der Zwischenablage.", vbCritical, "Fehler")
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: VBA Makro bitte um Hilfe
16.05.2020 11:53:01
Tom
Hey Nepumuk, vielen Dank - das Makro funktioniert grundsätzlich einwandfrei. Lediglich der Schnellaufruf mit STRG+B geht nicht mehr. Wie bekomme ich das wieder hin ? hast Du da ev. auch noch einen Tipp ? LG Tom
AW: VBA Makro bitte um Hilfe
16.05.2020 12:05:02
Nepumuk
Hallo Tom,
auf der Exceloberfläche mit F8 den Makrodialog aufrufen und die Tastenkombi neu zuweisen.
Gruß
Nepumuk
AW: VBA Makro bitte um Hilfe
16.05.2020 12:06:37
Nepumuk
Oooooooooooooops,
ich meine natürlich Alt+F8
Gruß
Nepumuk
AW: VBA Makro bitte um Hilfe
16.05.2020 12:09:39
Tom
Danke für den Tipp. Geht - allerdings nur in Kombination mit STRG+Umschalt (das ist so vorgegeben) nur STRG geht wohl nicht ? LG Tom
AW: VBA Makro bitte um Hilfe
16.05.2020 13:08:53
Nepumuk
Hallo Tom,
das geht nicht. Allerdings geht es mit Strg+ Kleinbuchstabe. Im Dialog nur auf den gewünschten Buchstaben drücken. Ich habe es gerade getestet, Strg+b so wie ursprünglich funktioniert.
Gruß
Nepumuk
Anzeige
AW: VBA Makro bitte um Hilfe
16.05.2020 13:44:05
Tom
SUPER - Danke für alles Du warst eine geniale Hilfe - schönes Wochenende !!!!
AW: VBA Makro bitte um Hilfe
16.05.2020 09:57:51
Daniel
Hi
Dem STRG+V entspricht der VBA-Befehl ActiveSheet.Paste
Eingefügt wird in die selektierte Zelle.
Vielleicht reicht ein einfaches:
ActiveSheet.Paste
ActiveSheet.Hyperlinks.Add Anchor:=Selection, _
Address=Selection.Text, _
TextToDisplay="Beleg"
Gruß Daniel
AW: VBA Makro bitte um Hilfe
16.05.2020 11:53:47
Tom
Hey Daniel, Dein Vorschlag funktioniert bei mir leider nicht :-( Trotzdem Danke und Gruß Tom

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige