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

Verzweiflung mit Symbolleiste

Verzweiflung mit Symbolleiste
18.11.2008 09:19:47
Micha
Hallo zusammen,
hatte das Problem vor einiger Zeit schon mal angesprochen (https://www.herber.de/forum/archiv/1016to1020/t1019837.htm#1019892), bin bisher aber leider noch zu keiner Lösung gelangt.
Folgendes Problem.
Ich habe eine Symbolleiste erstellt, in der einige Makros hinterlegt sind.
Diese Symbolleiste soll jedem Nutzer einer bestimmten Datei zu Verfügung stehen.
Diese Datei liegt auf einem Server, sodass man von überall in der Firma darauf zugreifen kann.
Also habe ich in dieser Datei die Symbolleiste über Anpassen--Symbolleisten--Anfügen von Benutzerdefinierte Symbolleisten nach Symbolleisten dieser Arbeitsmappe kopiert.
Das hat auch soweit funktioniert.
Nun habe ich aber an dieser Symbolleiste schon einige Änderungen vornehmen müssen und nach jeder Änderung verfahre ich nach obigen Schema. Aber wenn jetzt ein anderer Kollege die Datei öffnet, bekommt er die Änderung nicht zu Gesicht. Warum nicht? Alle Rechner sind mit dem gleichen Image aufgesetzt worden, haben also den gleichen Softwarestand. Wir haben auch schon mal die Excel11.xlb und die Personl.xls Datei probehalber kopiert, nichts hat geholfen.
Weiß jetzt echt nicht mehr weiter. Wie kann ich Excel dazu bringen, Änderungen an der Symbolleiste auch für andere User sichtbar zu machen?
Danke euch.
Gruss..Micha

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verzweiflung mit Symbolleiste
18.11.2008 09:48:00
Timo
Hallo Micha,
erstellst Du die Symbolleiste von Hand, oder erzeugst Du sie per VBA während der Laufzeit?
Bei letzterem sollte es auf jeden Fall funktionieren.
Alternativ würde ich eine Userform nutzen, da hast du ohnehin mehr Möglichkeiten.
Gruß
Timo
AW: Verzweiflung mit Symbolleiste
18.11.2008 10:07:00
Micha
Hi Timo,
die Symbolleiste habe ich von Hand erstellt. Sie ist auch unter "Ansicht"--"Symbolleisten" vorhanden und es ist ein Häckchen davor.
AW: Verzweiflung mit Symbolleiste
18.11.2008 11:13:00
Rudi
Hallo,
ich erstelle mappenspezifische Symbolleisten generell per Code. Das ist für mich die sicherste und einfachste Lösung.
Gruß
Rudi
AW: Verzweiflung mit Symbolleiste
18.11.2008 11:44:10
Micha
Hi Rudi,
leider bin ich nicht so ein VBA Profi um das umzusetzen. Wäre mir natürlich auch lieber, für die jeweilige Arbeitsmappe eine Symbolleiste zu haben aber ich wüßte nicht, wie ich das umsetzen sollte :-(
Gruss..Micha
Anzeige
AW: Verzweiflung mit Symbolleiste
18.11.2008 12:35:36
Rudi
Hallo,
dafür muss man kein Profi sein, man muss nur suchen.
siehe z.B. hier unter Services-Excel FAQ. Da gibt es mehrere Beispiele.
Gruß
Rudi
AW: Verzweiflung mit Symbolleiste
18.11.2008 13:56:00
Micha
HAllo Rudi,
hab auch was gefunden und zwar das hier:
ClassModule: DieseArbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call DeleteCmdBar
End Sub



Private Sub Workbook_Open()
Dim oBar As CommandBar
Dim oBtn As CommandBarButton
Dim iCounter As Integer
Call DeleteCmdBar
Set oBar = Application.CommandBars.Add( _
Name:="NewToolbar", _
temporary:=True, _
Position:=msoBarTop)
oBar.Visible = True
For iCounter = 1 To 5
Set oBtn = oBar.Controls.Add
With oBtn
.FaceId = 70 + iCounter
.Caption = "&" & iCounter & " Befehl"
.OnAction = "Befehl" & iCounter
End With
Next iCounter
End Sub


StandardModule: basMain
Sub Befehl1()
MsgBox "Ich bin Befehl 1"
End Sub


Sub Befehl2()
MsgBox "Ich bin Befehl 2"
End Sub


Sub Befehl3()
MsgBox "Ich bin Befehl 3"
End Sub


Sub Befehl4()
MsgBox "Ich bin Befehl 4"
End Sub


Sub Befehl5()
MsgBox "Ich bin Befehl 5"
End Sub


Sub DeleteCmdBar()
On Error Resume Next
Application.CommandBars("NewToolbar").Delete
On Error GoTo 0
End Sub


Jetzt möchte ich aber die einzelnen Schaltflächen nicht unbedingt nur 1-5 nennen, sondern eigentlich eher aussagekräftig zb. Gebäudeansicht Formatieren oder XLS Datei kopieren usw.
Wie stell ich das hier an?Danke
Gruss..Micha

Anzeige
AW: Verzweiflung mit Symbolleiste
19.11.2008 08:57:00
Micha
Moin rofu,
klappt leider nicht, kommt beim Start der Datei nur Fehlermeldung
Laufzeitfehler 5
"Ungültiger Prozeduraufruf oder ungültiges Argument"
Gurss..Micha
AW: Verzweiflung mit Symbolleiste
19.11.2008 10:00:45
Micha
Hi rofu,
bitte net böse sein aber ich seh da jetzt keinen großen Unterschied zu meinem vorgebrachten Beispiel. Es wird zwar eine Symbolleiste erstellt, nur halt jetzt mit den Zahlen 2-6 statt 1-5 wie in meinem Beispiel. Aber ich möchte halt statt der Zahlen in der Symbolleiste lieber Namen stehen haben, damit auch ein anderer Kollege weiß, welche Aktion er ausführt, wenn er auf eine bestimmte Schaltfläche klickt.
Und wie würde ich in deinem Beispiel ein bestimmtes Makro hinterlegen?
In meinem Beispiel hat ja gestanden : .OnAction = "Befehl" & iCounter
Und dieses "Befehl" + die gedrückte Zahl in der Symbolleiste kam ja dann auch in dem Sub Befehl des jeweiligen Makros vor.
Selbst wenn ich jetzt den Makro zb Sub filter() nennen würde, wie müsste ich diesen dann in deinem Beispiel mit der zb. 2 in der Symbolleiste verknüpfen? Das will mir irgendwie noch nicht so richtig in den Schädel:-))
Danke
Gruss..Micha
Anzeige
AW: Verzweiflung mit Symbolleiste
19.11.2008 14:00:00
Micha
Hallo rofu,
ja, jetzt klappts super. Hab alles hinbekommen, danke. Hab nur noch ein kleines Problem mit folgendem Makro:

Sub LeerZellenlöschen()
Range("A2:G2").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.AutoFilter Field:=3, Criteria1:="="
Application.CutCopyMode = False
Selection.EntireRow.Delete
Selection.AutoFilter Field:=3
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("A2").Select
End Sub


Er wird zwar über die Symbolleiste aufgeufen aber leider löscht er mir vielmehr Daten als nur die leeren Zeilen wenn in Spalte C nach Leeren Zellen gesucht wurde. Ich hab einen Test gemacht, wonach in Spalte C 3 Leere Zellen waren und 10 gefüllte. Nach Makroausführung waren zwar die 3 leer Zellen/Zeilen weg aber es waren nur noch 4 gefüllte Zellen übrig. Nämlich von Zeile 2 bis 5.Gefüllt hätten aber die Zellen 2-11 sein müssen.
Was mach ich hier schon wieder falsch?
Gruss..Micha

Anzeige
AW: Verzweiflung mit Symbolleiste
19.11.2008 16:50:00
robert
hallo micha,
steht in den anderen spalten auch etwas ?
oder nur in C
z.B. in spalte A zeile3 = 100, in spalte C zeile 3 steht nichts
was passiert dann?
bitte um mitteilung
gruß
rofu
AW: Verzweiflung mit Symbolleiste
20.11.2008 09:43:58
Micha
Moin rofu,
also in den Spalten A u B steht immer was drin, in den Spalten D:G steht nur was drin, wenn Spalte C NICHT leer ist.Um zu deiner Frage zurückzukommen.
Wenn ich Spalte A 100 steht und in Spalte C nichts, dann löscht der Makro alles. Die 100 ist dann weg.
Ich kopiere Werte aus einer anderen Excledatei, welche immer unterschiedliche Anzahl von Zeilen aufweißt. Mal 345, mal 2167, mal N-Zeilen. Und wenn in der Spalte C nichts drin steht, heißt das, das in den Spalten A und B nur eine Uberschrift steht, die ich aber zur weiteren Auswertung der Datei nicht gebrauchen kann. Deswegen soll der Makro eigentlich die Spalte C nach Leerstellen filtern und die dann angezeigten Zeilen entfernen. Das Problem ist wohl die immer unterschiedliche Anzahl der importierten Zeilen?!.
Gruss..Micha
Anzeige
AW: Verzweiflung mit Symbolleiste
20.11.2008 19:06:21
robert
hi micha,
war nicht böse gemeint....
habe diesen code getestet-funktioniert
bitte meldung, ob nun ok
gruß
rofu

Sub Makro2()
Dim lz
lz = Cells(Rows.Count, 1).End(xlUp).Row
Range("C1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:="="
Range("C5:C14").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireRow.Delete
Selection.AutoFilter
Range("C1").Select
End Sub


Anzeige
AW: Verzweiflung mit Symbolleiste
21.11.2008 10:33:32
Michael
Hi rofu,
weiß ich doch, das das net böse gemeint war:-) Hab doch auch extra ein Smile gemacht.
Werde den Code am Montag testen, bin heute nicht im Büro. Melde mich dann natürlich. Schade, das es hier keine Möglichkeiten gibt, ne Private Nachricht (PN) zu verschicken, wie es eigentlich in jedem Forum üblich ist.
Gruss und schönes Wochenende
Micha

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige