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

Commandbutton Beschriftung

Commandbutton Beschriftung
29.10.2021 11:29:46
Oraculix
Hallo
In meiner Arbeitsmappe habe ich viele Commandbuttons.(Aktiv X Steuerelemente)
Frage:
Kann man den Commandbuttons, wenn man mit der Maus drauffährt eine Beschreibung
zuordnen, so das ein kleines Fenster erscheint wo Zb. Sortieren drinnen steht?
Wenn ja wie habe nichts gefunden!
Gruß
Oraculix

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Commandbutton Beschriftung
29.10.2021 11:50:21
Oraculix
Servus Nepumuk Danke erstmal.
Wenn ich mir das so ansehe lass ich das lieber das ist den Aufwand gar nicht wert.
Trotzdem Danke
Frage:
darf ich Dir noch ein letztes mal ein Update meiner Mappe senden?
Weil es gibt in der Userform1 CommandButton13
ein Macro das ganz schön umfangreich ist und ziemlich lange dauert kann man das etwas kürzen das es schneller wird?
AW: Commandbutton Beschriftung
29.10.2021 12:02:20
Nepumuk
Hallo,
bei CommandButtons auf einem UserForm ist das ganz einfach. Öffne das UserForm im VBA-Editor, klick auf den CommandButton und gib den gewünschten Text im Eigenschaftsfenster bei der Eigenschaft "ControlTipText" ein.
Gruß
Nepumuk
Anzeige
AW: Commandbutton Beschriftung
29.10.2021 12:09:47
Oraculix
super Danke das geht echt gut in der Userform.
hier der code den ich gerne verkürzt hätte damit es nicht sooooo lange dauert
'Alles Aktualisieren

Private Sub Commandbutton13_Click()
Const FILE_PATH As String = "E:\"
Dim strFilename As String
Dim lngRow As Long
Dim strFilePath As String
Dim objFileDialog As FileDialog
Dim objWorkbook As Workbook
Application.ScreenUpdating = False
Worksheets("FilmDB").Activate
'Löscht alles
Range("A2:J5000").Select
Selection.ClearContents
Set objWorkbook = Workbooks.Open(Filename:="C:\Users\hansm\OneDrive\!alle filme1.csv")
Call objWorkbook.Worksheets(1).Columns("A:J").Copy(Destination:=ThisWorkbook. _
ActiveSheet.Cells(1, 1))
'Schließt !!alle filme1.csv
Call objWorkbook.Close(SaveChanges:=False)
Set objWorkbook = Nothing
'Jahr ausschneiden und weiter nach vorne verschieb
Columns("H:H").Select
Selection.Cut
ActiveWindow.SmallScroll ToRight:=-3
Columns("D:D").Select
Application.CutCopyMode = False
Selection.ClearContents
Columns("H:H").Select
Selection.Cut
Columns("D:D").Select
ActiveSheet.Paste
Columns("H:H").Select
Selection.Delete Shift:=xlToLeft
Range("B2").Select
'Schrift Ausrichtung von A-J
Columns("A:B").HorizontalAlignment = xlLeft
Columns("C:C").HorizontalAlignment = xlCenter
Columns("D:E").HorizontalAlignment = xlLeft
Columns("F:I").HorizontalAlignment = xlCenter
Range("A1:I1").HorizontalAlignment = xlCenter
Columns("J").HorizontalAlignment = xlCenter
'Spaltenbreite
Columns("A:A").ColumnWidth = 53.71
Columns("B:D").ColumnWidth = 64.43
Columns("C:C").ColumnWidth = 12.89
Columns("D:D").ColumnWidth = 69.7
Columns("E:F").ColumnWidth = 42.88
Columns("G:H").ColumnWidth = 18.17
Columns("I:J").ColumnWidth = 10.07
'Hintergrund Schwarz Einfärben
Application.Goto Reference:="FilmDb"
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorAccent4
.TintAndShade = 0.799981688894314
End With
'Schrift vergrößern auf 14 und Farbe Gelb zuweisen
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorAccent4
.TintAndShade = 0.799981688894314
.ThemeFont = xlThemeFontMinor
End With
'Zeile 1 Schrift  und Hintergrundfarbe ändern
Range("A1:J1").Select
Range("J1").Activate
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
'.ThemeColor = xlThemeColorAccent6
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Selection.Font.Size = 16
Selection.Font.Bold = False
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
' Doppel Punkte Löschen
Application.Goto Reference:="FilmDb"
Selection.Replace What:=":", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveWindow.ScrollRow = 2
'Leeerzeichen nach letzten buchstaben löschen
Dim loLetzte As Long, varArray As Variant, i As Long
With Worksheets("FilmDb")
loLetzte = .Cells(.Rows.Count, "A").End(xlUp).Row
varArray = WorksheetFunction.Transpose(.Range("A1:A" & loLetzte))
For i = LBound(varArray) To UBound(varArray)
varArray(i) = RTrim(varArray(i))
Next i
.Range(.Cells(1, "A"), .Cells(loLetzte, "A")) = WorksheetFunction.Transpose(varArray)
End With
'Gibt Auskunft über die Anzahl der Filme
Range("A1").FormulaLocal = "=""Original Titel "" & Anzahl2(A2:A5000)"
Worksheets("FilmeAnsehen").Activate
Unload Me
'Liest aus Verzeichniss E:\ Alle Filme aus und gibt sie als Link aus
Call LinkE_Click
Application.ScreenUpdating = False
End Sub
'Liest aus Verzeichniss E:\ Alle Filme aus und gibt sie als Link aus
Sub LinkE_Click()
Const FILE_PATH As String = "E:\"
Dim lngRow As Long
Dim strFilename As String
Application.ScreenUpdating = False
'Löscht alte einträge
Range("A2:C" & Rows.Count).ClearContents
lngRow = 1
strFilename = Dir$(FILE_PATH & "*.*")
Do Until strFilename = vbNullString
lngRow = lngRow + 1
ActiveSheet.Hyperlinks.Add anchor:=Cells(lngRow, 1), _
Address:=FILE_PATH & strFilename, TextToDisplay:= _
Left$(strFilename, InStrRev(strFilename, ".") - 1)
Cells(lngRow, 3) = CreateObject("Scripting.FileSystemObject").GetFile(FILE_PATH & strFilename).DateCreated
strFilename = Dir$
Loop
'### Sortieren Spalte C Datum Absteigend!!
Range("A2:C5000").Sort Key1:=Range("C2"), Order1:=xlDescending, Header:= _
xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom '### Ende
'Schrift größe einstellen
Columns(1).Font.Size = 15
Columns(2).Font.Size = 15
'Spaltenbreite einstellen
Columns("A:A").ColumnWidth = 39.59
Columns("B:B").ColumnWidth = 50.35
Columns("C:C").ColumnWidth = 48.61
'Schrift Farbe einstellen
With Range("A2:C5000")
.Interior.Color = vbBlack
.Font.Color = RGB(255, 192, 0)
End With
'Zählt die Einträge und fügt sie in A1 ein
Range("A1").FormulaLocal = "=""Original Titel "" & Anzahl2(A2:A5000)"
'Fügt Formeln ein Spalte B
With Worksheets("FilmeAnsehen")
.Range("B2:B" & .Cells(Rows.Count, 1).End(xlUp).Row).FormulaR1C1Local = "=WENNFEHLER(SVERWEIS(LINKS(ZS(-1);FINDEN(""("";ZS(-1))-2);" & "FilmDb!S(-1):S;2;0);LINKS(ZS(-1);FINDEN(""("";ZS(-1))-2))"
End With
'Überschreibt die Formeln
Range("B2:B5000") = Range("B2:B5000").Value
'Spalte B Linksbündig
Columns("B:B").Select
With Selection
.HorizontalAlignment = xlLeft
End With
Range("B1").Select
With Selection
.HorizontalAlignment = xlCenter
End With
'Überschreibt Formelwerte
Range("B2:B5000") = Range("B2:B5000").Value
UserForm1.Show
Application.ScreenUpdating = True
End Sub
Anzeige
AW: Commandbutton Beschriftung
29.10.2021 13:45:48
Nepumuk
Hallo,
schau mal ob das schneller ist (Das andere Makro schaue ich mir später an):

Sub LinkE_Click()
Const FILE_PATH As String = "E:\"
Dim lngRow As Long
Dim strFilename As String
Dim objFileSystemObject As Object
Application.ScreenUpdating = False
'Löscht alte einträge
Range("A2:C" & Rows.Count).ClearContents
lngRow = 1
Set objFileSystemObject = CreateObject("Scripting.FileSystemObject")
strFilename = Dir$(FILE_PATH & "*.*")
Do Until strFilename = vbNullString
lngRow = lngRow + 1
ActiveSheet.Hyperlinks.Add anchor:=Cells(lngRow, 1), _
Address:=FILE_PATH & strFilename, TextToDisplay:= _
Left$(strFilename, InStrRev(strFilename, ".") - 1)
Cells(lngRow, 3) = objFileSystemObject.GetFile(FILE_PATH & strFilename).DateCreated
strFilename = Dir$
Loop
Set objFileSystemObject = Nothing
'### Sortieren Spalte C Datum Absteigend!!
Range("A2:C5000").Sort Key1:=Range("C2"), Order1:=xlDescending, Header:= _
xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom '### Ende
'Schrift größe einstellen
Columns("A:B").Font.Size = 15
'Spaltenbreite einstellen
Columns(1).ColumnWidth = 39.59
Columns(2).ColumnWidth = 50.35
Columns(3).ColumnWidth = 48.61
'Schrift Farbe einstellen
With Range("A2:C5000")
.Interior.Color = vbBlack
.Font.Color = RGB(255, 192, 0)
End With
'Zählt die Einträge und fügt sie in A1 ein
Range("A1").FormulaLocal = "=""Original Titel "" & Anzahl2(A2:A5000)"
'Fügt Formeln ein Spalte B
With Worksheets("FilmeAnsehen")
.Range("B2:B" & CStr(.Cells(Rows.Count, 1).End(xlUp).Row)).FormulaR1C1Local = _
"=WENNFEHLER(SVERWEIS(LINKS(ZS(-1);FINDEN(""("";ZS(-1))-2);" & _
"FilmDb!S(-1):S;2;0);LINKS(ZS(-1);FINDEN(""("";ZS(-1))-2))"
End With
'Überschreibt die Formeln
Range("B2:B5000").Value = Range("B2:B5000").Value
Columns(2).HorizontalAlignment = xlLeft
Range("B1").HorizontalAlignment = xlCenter
Application.ScreenUpdating = True
UserForm1.Show
End Sub
Gruß
Nepumuk
Anzeige
AW: Commandbutton Beschriftung
29.10.2021 16:13:14
Oraculix
Super Danke für Deine Mühe!
ca.6 Sec schneller mit dem neuen Macro.
Normal sind es ca 25Sec. Jetzt 19Sec.
Wenn du beim ersten Makro auch noch 10Sec. wegbringst wäre das schon was.
Das größte Problem ist glaube ich das ich die Userform schließen muss und wieder öffnen da wäre genug zeit zu sparen.
Gruß
Oeaculix
AW: Commandbutton Beschriftung
30.10.2021 09:46:00
Nepumuk
Hallo,
viel lässt sich da nicht rausholen:

Private Sub Commandbutton13_Click()
Const FILE_PATH As String = "E:\"
Dim strFilename As String
Dim lngRow As Long
Dim strFilePath As String
Dim objFileDialog As FileDialog
Dim objWorkbook As Workbook
Dim loLetzte As Long, varArray As Variant, i As Long
Application.ScreenUpdating = False
With Worksheets("FilmDB")
.Activate
'Löscht alles
.Range("A2:J5000").ClearContents
Set objWorkbook = Workbooks.Open(Filename:="C:\Users\hansm\OneDrive\!alle filme1.csv")
Call objWorkbook.Worksheets(1).Columns("A:J").Copy(Destination:=.Cells(1, 1))
'Schließt !!alle filme1.csv
Call objWorkbook.Close(SaveChanges:=False)
Set objWorkbook = Nothing
'Jahr ausschneiden und weiter nach vorne verschieben
.Columns(8).Copy Destination:=.Columns(4)
.Columns(8).Delete Shift:=xlToLeft
'Schrift Ausrichtung von A-J
.Columns("A:B").HorizontalAlignment = xlLeft
.Columns("C:C").HorizontalAlignment = xlCenter
.Columns("D:E").HorizontalAlignment = xlLeft
.Columns("F:I").HorizontalAlignment = xlCenter
.Columns("J").HorizontalAlignment = xlCenter
.Range("A1:I1").HorizontalAlignment = xlCenter
'Spaltenbreite
.Columns("A:A").ColumnWidth = 53.71
.Columns("B:D").ColumnWidth = 64.43
.Columns("C:C").ColumnWidth = 12.89
.Columns("D:D").ColumnWidth = 69.7
.Columns("E:F").ColumnWidth = 42.88
.Columns("G:H").ColumnWidth = 18.17
.Columns("I:J").ColumnWidth = 10.07
'Hintergrund Schwarz Einfärben
Application.Goto Reference:="FilmDb"
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
'Schrift vergrößern auf 14 und Farbe Gelb zuweisen
With Selection.Font
.ThemeColor = xlThemeColorAccent4
.TintAndShade = 0.799981688894314
.ThemeFont = xlThemeFontMinor
.Bold = True
.Name = "Calibri"
.Size = 14
End With
'Zeile 1 Schrift  und Hintergrundfarbe ändern
With .Range("A1:J1")
With .Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With .Font
.Size = 16
.Bold = False
End With
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
' Doppel Punkte Löschen
Application.Goto Reference:="FilmDb"
Selection.Replace What:=":", Replacement:="", LookAt:=xlPart
'Leeerzeichen nach letzten buchstaben löschen
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
varArray = .Range(.Cells(1, 1), .Cells(loLetzte, 1)).Value
For i = LBound(varArray, 1) To UBound(varArray, 1)
varArray(i, 1) = Trim$(varArray(i, 1))
Next i
.Range(.Cells(1, 1), .Cells(loLetzte, 1)).Value = varArray
'Gibt Auskunft über die Anzahl der Filme
.Range("A1").FormulaLocal = "=""Original Titel "" & Anzahl2(A2:A5000)"
End With
Worksheets("FilmeAnsehen").Activate
Unload Me
'Liest aus Verzeichniss E:\ Alle Filme aus und gibt sie als Link aus
Call LinkE_Click
End Sub
Gruß
Nepumuk
Anzeige
Vielen Dank Genial wie immer!!!!!
30.10.2021 09:55:27
Oraculix
Super echt super von Dir!
Ich bin jetzt auf 4,85Sec das ist schon Genial für den mächtigen Code.
Danke Nepumuk!!!
Gruß
Oraculix
Erledigt
30.10.2021 10:09:04
Oraculix
Erledigt
AW: Commandbutton Beschriftung
29.10.2021 14:54:46
Daniel
Hi
Die ActiveX-Buttons haben keinen ControlTip wie die Userform-Buttons.
Könnte aber das MouseMove-Event verwenden (löst aus, wenn sich der Mauszeiger über dem Button bewegt) um ein Textfeld unterhalb des Buttons zu erzeugen und ggf Zeitgesteuert wieder einzublenden (Application.Ontime)
Muss aber für jeden Button eigenständig programmiert werden.
Gruß Daniel
AW: Commandbutton Beschriftung
29.10.2021 16:17:52
Oraculix
Danke Daniel habe es im Link von Nepumuk gelesen ist halt sehr aufwendig zahlt sich eigentlich nicht aus der Aufwand. In der Userform habe jetzt wenigsten alle Buttons beschriftet das genügt .
Gruß
Oraculix
Anzeige
AW: Commandbutton Beschriftung
29.10.2021 16:19:19
Oraculix
ups hacken irrtümlich gesetzt als nicht gelöst

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige