Thema Datum  Von Nutzer Rating
Antwort
Rot Fehlermeldung wenn control As IRibbonControl
08.09.2020 13:30:26 Sabi
NotSolved
08.09.2020 19:58:55 volti
NotSolved
08.09.2020 21:08:43 Mase
NotSolved

Ansicht des Beitrags:
Von:
Sabi
Datum:
08.09.2020 13:30:26
Views:
776
Rating: Antwort:
  Ja
Thema:
Fehlermeldung wenn control As IRibbonControl

Hallo liebes VBA Forum :)

 

Ich habe ein Makro welches mir mehrere Ausgewählte Excel in 1 Excel zusammenfügt.

Wenn ich das Makro normal über Entwicklertools => Makros starte funktioniert alles bestens.

Jedoch will ich das ganze über ein Ribbon Button machen. Ich hab dies schon alles soweit (mit Costum UI Editor)

Wenn ich es dann aber über den Ribbon Button starte kann ich zwar noch Dateien auswählen aber dann kommt es zu einem Laufzeitfehler:

"Die Methode 'Copy' für das Objekt '_Worksheet' ist fehlgeschlagen"

Wenn ich debugge springt er zu folgender Zeile:

  wksT.Copy wbkZiel.Worksheets(wbkZiel.Worksheets.Count) 

 

Kann mir da jemand helfen?

 

Hier das ganze Makro: (Wenn ihr das ohne Ribbon testet dann das "control As IRibbonControl" in den Klammern anfangs löschen)

Sub Excelzusammenfuegen(control As IRibbonControl)

'GetOpenFileName Dialog: auch zur mehrfach Auswahl von Dateien
 'es wird der Filename mit dem Path zurückgegeben
 'Zur Mehrfachauswahl einzeln: Strg Taste gedrückt halten und Files anklicken
 'oder Shift Taste gedrückt halten und erste + letztes File anclicken
 'Wird Multiselect verwendet gibt die GetOpenFileName ein Array zurück
  
 'code kann ggf. mehrfach ausgeführt werden bis zB alle Unterordner nacheinander ereicht wurden
 Dim vntPathAndFileNames As Variant 'kein String !
 Dim strPathAndFile As String
 Dim lngI As Long
 Dim wbkMappe As Workbook
 Dim wksT As Worksheet
 Dim wbkZiel As Workbook

Set wbkZiel = ThisWorkbook 'Beispiel ggf. anpassen

vntPathAndFileNames = Application.GetOpenFilename( _
    FileFilter:="Excel Files (*.xlsx), *.xlsx", _
    Title:="Wählen sie die gewünschten Dateien aus (mit STRG). mit STRG-A wählen sie alle Dateien aus", _
    MultiSelect:=True)
If VarType(vntPathAndFileNames) = vbBoolean Then
  MsgBox "Abgebrochen!"
Else
 For lngI = LBound(vntPathAndFileNames) To UBound(vntPathAndFileNames)
  strPathAndFile = vntPathAndFileNames(lngI)
  Set wbkMappe = Application.Workbooks.Open(strPathAndFile)
  For Each wksT In wbkMappe.Worksheets
   wksT.Copy wbkZiel.Worksheets(wbkZiel.Worksheets.Count)
  Next
  wbkMappe.Close False
 Next
End If

End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Fehlermeldung wenn control As IRibbonControl
08.09.2020 13:30:26 Sabi
NotSolved
08.09.2020 19:58:55 volti
NotSolved
08.09.2020 21:08:43 Mase
NotSolved