AW: Makro über einen Button nur für eine Excel-Datei
27.10.2003 10:57:51
Hajo_Zi
Hallo Petra
ich habe jetzt den Teil auskommentiert der für Dich nicht relevant ist.
' **************************************************************
' Modul: Modul1 Typ = Allgemeines Modul
' **************************************************************
Option Private Module
Option Explicit
Dim StNameTabelle As String
' erstellt von Hajo.Ziplies@web.de
' http://home.media-n.de/ziplies/
Sub DateiUnterTagesdatumAbspeichern()
Dim Tagesdatum As String
Dim Sicherung As String
Dim StrVerzeichnis As String
Tagesdatum = Application.Text(Now(), "dd-mm-yy___hh-mm")
Sicherung = "Report1 " & Tagesdatum & ".xls"
StrVerzeichnis = Application.GetSaveAsFilename(Sicherung)
ActiveWorkbook.SaveCopyAs StrVerzeichnis
End Sub
' **************************************************************
' Modul: DieseArbeitsmappe Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************
Option Explicit
' erstellt von Hajo.Ziplies@web.de
' http://home.media-n.de/ziplies/
Private Sub Workbook_Open()
Dim CB As CommandBar
Dim CBC As CommandBarButton
Dim I%
On Error Resume Next
Set CB = Application.CommandBars.Add(Name:="PreislisteO", _
temporary:=True, Position:=msoBarTop)
' Oben Position:=msoBarTop
' Rechts Position:=msoBarRight
' Links Position:=msomsoBarLeft
' unten Position:=msoBarBottom
On Error GoTo 0
If Application.CommandBars("PreislisteO").Visible = False Then
CB.Visible = True
' cb.Left = 10
' cb.Top = 150
For I = 1 To 1
Set CBC = CB.Controls.Add(Type:=msoControlButton)
With CBC
.Width = 50 ' Breite der Schalter
' .Style = msoButtonCaption ' Text auf Schaltfläche ohne Icon
.Style = msoButtonIconAndCaption ' Text und Icon
' Text Waagerecht für Links und Rechts
' .Style = msoButtonWrapCaption
Select Case I
Case 1
.FaceId = 3 ' Icon vor Beschriftung
.Caption = "Speichern"
.OnAction = "DateiUnterTagesdatumAbspeichern"
.TooltipText = "Datei Speichern unter"
' Case 2
' .Caption = "Ent."
' .OnAction = "Entlader"
' .TooltipText = "Entlader einfügen"
' Case 3
' .Caption = "LPM"
' .OnAction = "LPM"
' .TooltipText = "LPM einfügen"
' Case 4
' .Caption = "Bel."
' .OnAction = "Belader"
' .TooltipText = "Belader einfügen"
' Case 5
' .Caption = "PTS"
' .OnAction = "PTS"
' .TooltipText = "PTS Einfügen"
' Case 6
' .BeginGroup = True 'neue Gruppe Hinweis Christoph Dümmen
' .Caption = "KTS"
' .OnAction = "Gebindetransport"
' .TooltipText = "Gebindetransport einfügen"
' Case 7
' .Caption = "S.S."
' .OnAction = "SS"
' .TooltipText = "Schalt- und Steuerausrüstung einfügen"
' Case 8
' .Caption = "Aus."
' .OnAction = "Auspacker"
' .TooltipText = "Auspacker einfügen"
' Case 9
' .Caption = "Ein."
' .OnAction = "Einpacker"
' .TooltipText = "Einpacker einfügen"
' Case 10
' .Caption = "ET60.1"
' .OnAction = "ET601"
' .TooltipText = "ET 60.1 einfügen"
' Case 11
' .Caption = "ET 85"
' .OnAction = "ET85"
' .TooltipText = "ET 85 einfügen"
'' Schalter nicht ausführbar
' .Enabled = False
' Case 12
' .Caption = "Kopfpa."
' .OnAction = "Kopfpalette"
' .TooltipText = "Kopfpalettenaufleger einfügen"
' Case 13
' .Caption = "NGA"
' .OnAction = "NGA"
' .TooltipText = "Neuglasabheber einfügen"
' Case 14
' .Caption = "NGS"
' .OnAction = "NGS"
' .TooltipText = "Neuglasabschieber einfügen"
' Case 15
' .Caption = "Zu."
' .OnAction = "Zukauf"
' .TooltipText = "Zukauf einfügen"
End Select
End With
Next I
End If
End Sub
Private Sub Workbook_Deactivate()
' Schaltflächen nicht auswählbar bei Daieiwechsel
' Dim I as Byte
' With Application.CommandBars("PreislisteO")
' For I = 1 To 15
' .Controls(I).Enabled = False
' Next I
' End With
' Symbolleiste ausblenden bei Dateiwechsel
On Error Resume Next
If Application.CommandBars("PreislisteO").Visible = True Then
Application.CommandBars("PreislisteO").Visible = False
End If
End Sub
Private Sub Workbook_Activate()
On Error GoTo neu
If Application.CommandBars("PreislisteO").Visible = False Then
Application.CommandBars("PreislisteO").Visible = True
End If
Exit Sub
neu:
Workbook_Open
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.CommandBars("PreislisteO").Delete
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
' Symbolleiste einblenden falls Sie jemand ausgeblendet hat bzw.
On Error GoTo neu
If Application.CommandBars("PreislisteO").Visible = False Then
Application.CommandBars("PreislisteO").Visible = True
End If
Exit Sub
neu:
Workbook_Open
End Sub
Code eingefügt mit: Excel Code Jeanie
Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.