AW: Eingabe Button
19.09.2024 14:39:20
daniel
Hi
dieses Makro holt dir den Text aus der Zwischenablage und extrahiert den Teil zwischen den eckigen klammern (beachte den Hinweis)
Sub AusZwischenablage_zwischen_Klammern()
Dim DaOb As DataObject
Dim txt As String
Dim Pos1 As Long
Dim Pos2 As Long
'-----------------------------------------------------
' Vor erstellen des Codes
' aktiviere unter EXTRAS - VERWEISE den Verweis:
' Microsoft Forms 2.0 Object Library
'-----------------------------------------------------
'text aus zwischenablage holen
Set DaOb = New DataObject
DaOb.GetFromClipboard
txt = DaOb.GetText
'text zwischen eckigen Klammern ermitteln
Pos1 = InStr(txt, "[")
Pos2 = InStr(txt, "]")
If Pos1 > 0 And Pos2 > Pos1 Then
txt = Left(txt, Pos2 - 1)
txt = Mid(txt, Pos1 + 1)
'Text in aktive Zelle einfügen
ActiveCell.Value = txt
Else
Beep
End If
End Sub
wie gesagt, ich würde auf keinen Fall für jede Zelle einen Button erstellen.
verwende eine dieser Möglichkeiten
- erstelle einen Button, das Makro schreibt ja den Textt in die aktive zelle, dh erst Zelle markieren, dann Button klicken.
- du weist das Makro einer Tastenkombination zu und rufst es dann über diese auf. die Zuweisung des makros geht über Entwicklertools - Makros - Optionen.
dabei kannst du auch das klassische STRG+V verwenden (das sollte ja zum Einfügen bekannt sein.)
- starte über den Doppelklick, dazu brauchst du dieses Makro im Modul des Tabellenblatts:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
End Sub
du fügst dann den obigen Code ohne die erste und letzte Zeile (Kopf und Ende) hier ein
Gruß Daniel