Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
124to128
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
124to128
124to128
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Probleme mit Makro-Aufruf über Menu

Probleme mit Makro-Aufruf über Menu
05.06.2002 10:24:19
Maria
Hallo Excel-Freaks!

Ich habe mal wieder ein VBA-Problem. Diesmal will ich ein Menu hinzufügen, über das Makros aufgerufen werden sollen. Dank eines abgewandelten Beispiels hier aus dem Forum bzw. aus den Excelbeispielen von Hans (ohne die ich eh verloren wäre - hier noch mal vielen Dank) hab ich das Menu selbst auch mittlerweile hingekriegt. Nur erscheint es noch unterhalb der bisherigen Menuleiste + Buttonleiste, nicht rechts ob in der Menuleiste wie ich es lieber hätte.

Jetzt zum eigentlichen Problem: beim Makroaufruf erscheint jedes Mal die Fehlermeldung "Wrong number of arguments or invalid property assignment (Error 450)". Ich habe es schon versucht, die Makros als Public zu deklarieren oder von Subs in Functions umzustricken oder "modul1" davorzuschreiben - half alles nichts. :-(

Hier ist mein Menu-Code:

______________________________________________________________
Private Sub Workbook_Open()

Dim objBar As CommandBar
Dim objPopUp As CommandBarPopup
Dim objBtn1 As CommandBarButton
Dim objBtn2 As CommandBarButton
Dim strBar As String
strBar = "Comments"
On Error Resume Next
Application.CommandBars(strBar).Delete
On Error GoTo 0
Set objBar = Application.CommandBars.Add( _
Name:=strBar, _
Position:=msoBarTop, _
MenuBar:=False, _
Temporary:=True)
Set objPopUp = objBar.Controls.Add(Type:=msoControlPopup)
objPopUp.Caption = "Comments"
Set objBtn1 = objPopUp.Controls.Add
With objBtn1
.Caption = "Extract Comments"
.OnAction = "extract"
.Style = msoButtonCaption
End With

Set objBtn2 = objPopUp.Controls.Add
With objBtn2
.Caption = "Write back old comments"
.OnAction = "add_comments"
.Style = msoButtonCaption
End With
objBar.Visible = True

End Sub

______________________________________________________________

Thx in advance!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Probleme mit Makro-Aufruf über Menu
05.06.2002 11:34:58
Michael Scheffler
Hallo Maria,

wie sieht denn Dein "Extract"-Sub aus. Das solltest Du mal posten.

Zum Zweiten, wenn Du in die Excel-Menüleiste was reinbekommen möchtest, dann nimm Dir mal das Add-In von Hans, mit dem man Menüleisten bauan kann. Das schreibt Dir auch zugehörigen Code.

Gruß

Micha

Hier ist das aufzurufende Makro
05.06.2002 11:43:26
Maria Winter
Hi Micha!

Hier ist das aufzurufende Makro, bzw. eines der beiden:

___________________________________________

Sub extract()
Dim strWB As String
Dim strDiv As String
Dim strCommentFile As String
Dim objProj As Object
Dim intProj As Integer
Dim objASPI As Object
Dim intASPI As Integer
Dim objComm As Object
Dim intComm As Integer
Dim intRows As Integer

strWB = ActiveWorkbook.Name
strDiv = Workbooks(strWB).Sheets("Graphics 1").Range("A1").Value
strCommentFile = "Comments_" & Format(Date, "mm") & "_" & strDiv & ".xls"


'count over all rows
intRows = ActiveSheet.UsedRange.Rows.Count


'find Project Name column
Set objProj = Workbooks(strWB).Sheets("Data from ASPI").Cells.Find(What:="Project Name", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False)

Worksheets("Data from ASPI").Select
objProj.Activate
intProj = objProj.Column

'find ASPI Ref column
Set objASPI = Workbooks(strWB).Sheets("Data from ASPI").Cells.Find(What:="ASPI Ref", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False)

Worksheets("Data from ASPI").Select
objASPI.Activate
intASPI = objASPI.Column

'find Comment column
Set objComm = Workbooks(strWB).Sheets("Data Input").Cells.Find(What:="Commentary", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False)

Worksheets("Data Input").Select
objComm.Activate

intComm = objComm.Column
'MsgBox intProj & Chr(10) & intASPI & Chr(10) & intComm


Workbooks.Add
ActiveWorkbook.SaveAs FileName:="h:\test\comments\" + strCommentFile
'ActiveWorkbook.FileName = strCommentFile

Application.DisplayAlerts = False

With Workbooks(strCommentFile)
.Sheets("Sheet2").Delete
.Sheets("Sheet3").Delete
.Sheets("Sheet1").Name = "Comments"
End With

Application.DisplayAlerts = True

Workbooks(strWB).Activate
Workbooks(strWB).Sheets("Data from ASPI").Select
'Cells(intRows, intProj).Select
'Cells(Selection.End(xlUp)).Select
Range(Cells(intRows, intProj), Cells(2, intProj)).Select
Selection.Copy

Workbooks(strCommentFile).Activate
Sheets("Comments").Range("A1").Select
ActiveSheet.Paste

Workbooks(strWB).Activate
Workbooks(strWB).Sheets("Data from ASPI").Select
Cells(65536, intASPI).Select
Range(Selection, Selection.End(xlUp)).Select
Range(Selection, Cells(2, intASPI)).Select
Selection.Copy

Workbooks(strCommentFile).Activate
Sheets("Comments").Range("B1").Select
ActiveSheet.Paste

Workbooks(strWB).Activate
Workbooks(strWB).Sheets("Data Input").Select
'ActiveSheet.Cells(2, 19).Select
'ActiveSheet.Cells(65535, 19).Select
'Range("S65535").End(xlUp).Select
Cells(65536, intComm).Select
Range(Selection, Selection.End(xlUp)).Select
Range(Selection, Cells(2, intComm)).Select
Selection.Copy

Workbooks(strCommentFile).Activate
Sheets("Comments").Range("C1").Select
ActiveSheet.Paste

Cells.Select
Selection.Columns.AutoFit

Workbooks(strCommentFile).Close savechanges:=True

End Sub

Anzeige
Re: Hier ist das aufzurufende Makro
05.06.2002 16:39:25
Michael Scheffler
Hallo Maria,

Du hast dann offensichtlich mehrere Workbooks? Und nur in einem ist dann das Makro drin? Das könnte Probleme geben, wenn ich es richtig verstehe. Kommt er dennn überhaupt bei Deime Maakro nach ButtonClick an?

Gruß

MichA

Re: Hier ist das aufzurufende Makro
05.06.2002 16:52:33
Maria Winter
Das Menu ist in einem Add-in und die Makros, die damit aufgerufen werden, ebenfalls und diese sollen auf die grade aktive Excel-Datei angewandt werden. Wenn ich von Hand Makro-Buttons in die Iconbar einbastel funktioniert das auch.

Und nein - beim Button-Click findet er das Makro nicht. Kann ich irgendwie den Add-in-Dateinamen einbinden in den Aufruf auf daß es funktioniere? Wie ist da die Syntax?

Anzeige
Re: Hier ist das aufzurufende Makro
06.06.2002 09:54:32
Michael Scheffler
Hallo Maria,

keine Idee:-(

Gruß

Micha

Schlecht :-(
06.06.2002 09:56:19
Maria Winter
Trotzdem danke!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige