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

Makro als Addin nicht lauffähig (Laufzeitfehler)

Makro als Addin nicht lauffähig (Laufzeitfehler)
David
Guten Tag,
ich habe mir ein kleines Makro zusammengesucht, welches mir 3 Spalten ( H I J ) an den Kopf der Mappe stellt ( A B C ), die Mappe wird dann durchsucht und aus den Wörtern der Spalte H wird dann eine neue Tabelle erstellt.
In der Arbeitsmappe befindet sich folgender Code zur Erstellung eines Addin (die Funktio isAddin habe ich auf true gesetzt):
Private Sub Workbook_Open()
'Menü erzeugen
Dim Menue As CommandBarPopup
Dim Schaltflaeche As CommandBarButton
' Menüpunkt anlegen
With Application.CommandBars("Worksheet Menu Bar")
Set Menue = .Controls.Add(Type:=msoControlPopup, _
before:=.Controls.Count, temporary:=True)
End With
' Unterpunkte im Menü anlegen
Menue.Caption = "&Tool-Box"                     ' Name des Menüs
Set Schaltflaeche = Menue.Controls.Add
With Schaltflaeche
.Style = msoButtonIconAndCaption    ' Format für Menüpunkt: Icon und Text
.FaceId = 1445                      ' Nummer des Icons
.Caption = "Splitten"  ' Name der Menüzeile
.OnAction = "Splitter"         ' Aktion ausführen  //// Mein Makro heißt Splitter
.BeginGroup = True                  ' Trennlinie erzeugen
End With
End Sub
Und das dazugehörige Makro (Modul) sieht wie folgt aus:
Sub Splitter()
'Precheck
Dim cell As Range
Dim lngLast As Long
lngLast = Cells(Rows.Count, 1).End(xlUp).Row
For Each cell In Range("H1:H" & lngLast)
If cell.Value = "" Then
cell.Value = "#ERROR"
End If
Next
'Precheck
Dim i As Long
Dim n As Long
Dim k As Integer
Dim d As Integer
Dim ar As Variant
Dim arErg As Variant
Dim arSep As Variant
Dim Dic As Object
Dim ws As Worksheet
Dim iKS As Integer 'Kriterium-Spalte
iKS = 8
Set Dic = CreateObject("scripting.dictionary")
For i = 2 To UBound(ar)
If Len(ar(i, iKS)) Then _
Dic(ar(i, iKS)) = Dic(ar(i, iKS)) + 1
Next
arSep = Sort(Dic.keys)
For d = 0 To UBound(arSep)
ReDim arErg(1 To Dic(arSep(d)) + 1, 1 To UBound(ar, 2))
For i = 1 To UBound(ar)
If ar(i, iKS) = arSep(d) Or i = 1 Then
n = n + 1
For k = 1 To UBound(ar, 2)
arErg(n, k) = ar(i, k)
Next
End If
Next
n = 0
If IsSheetExist(arSep(d)) Then
Set ws = Worksheets(CStr(arSep(d)))
ws.Select
ws.UsedRange.Clear
Else
Set ws = Worksheets.Add(After:=Sheets(Sheets.Count))
ws.Name = arSep(d)
End If
ws.Range("A1").Resize(UBound(arErg), UBound(arErg, 2)) = arErg
ws.Range("H:J").Cut
ws.Range("A:A").Insert xlToRight
Next
End Sub
Function Sort(ar)
Dim i As Long, k As Long, h
For i = UBound(ar) To 0 Step -1
For k = 0 To i - 1
If ar(k) > ar(k + 1) Then
h = ar(k)
ar(k) = ar(k + 1)
ar(k + 1) = h
End If
Next
Next
Sort = ar
End Function
Function IsSheetExist(ByVal wsName As String) As Boolean
On Error Resume Next
IsSheetExist = Not Worksheets(wsName) Is Nothing
End Function In der ersten Mappe funktioniert es, jedoch wenn ich weitere Mappen mit dem Addin bearbeiten will sagt er mir nur:
Laufzeitfehler 13 typen unverträglich
Ich hoffe Jemand kann mir dabei behilflich sein.
Gruß
David

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro als Addin nicht lauffähig (Laufzeitfehler)
08.03.2012 13:30:38
David
PS: der Debugger liefert mir die Stelle: For i = 2 To UBound(ar)
Warum sollte das auch fktn, ...
08.03.2012 13:43:47
Luc:-?
…David,
ar hat zu diesem Zeitpkt ja noch gar keine Dimension, die du mit UBound feststellen könntest. Außerdem gehören in einem ordentl strukturierten Pgm die Dim-Anweisungen an den PgmKorpusanfang. Das ist übersichtlicher, dem Compiler/Interpreter ist's aber egal.
Ist halt so'ne Sache mit zusammengestoppelten Pgmm… ;->
Gruß Luc :-?
AW: Warum sollte das auch fktn, ...
08.03.2012 13:48:50
David
Ich hatte da vorher ar = Tabelle1.Range("A1").CurrentRegion noch stehen aber mit oder ohne ist ihm auch egal, habe auch versucht es als Active Sheet zu makieren, kein Erfolg
Anzeige

24 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige