Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
600to604
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
600to604
600to604
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Was macht der VB-Editor im Hintergrund ??

Was macht der VB-Editor im Hintergrund ??
20.04.2005 10:35:23
Paralizer
Hallo ihr Programmierprofis,
ich habe ein Problem mit einem Makro:
Ich weiss, dass das Makro läuft, aber beim 1. Ausführens stürzt mir Excel ab und will einen Fehlerbericht senden. Wenn ich dann aber beim erneuten Starten VOR dem Ausführen des Makros in den VB-Editor gehe, nichts am Makro verändere und den Editor wieder schließe, funktioniert das Makro. Ohne das Excel abstürzt.
Habt ihr eine Idee, warum Excel abstürzt oder soll ich auch mal das Makro posten ?
Vielen Dank !!!!!

Leif Erichsen

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
wäre hilfreich...
20.04.2005 17:02:52
Volker
Hallo Leif,
ich hatte mal einen ähnlichen Effekt bei einem Code, der VBA Code in einer anderen Mappe erzeugt. Vielleicht ist es bei Dir ähnlich.
Gruß
Volker
AW: wäre hilfreich...
20.04.2005 19:45:00
andre
Hallo Leif,
ich hab's auch wie Volker gemacht, anders hast Du fast keine Chance wenn einmal der Wurm drin ist. Ein Hinweis noch: Projekte von Excel aus speichern und nicht aus dem VBE.
Grüße, ANdre
AW: wäre hilfreich...
21.04.2005 10:44:38
Paralizer
Hier der Code, der mir Kopfzerbrechen macht:
Public

Sub csv()
'Dim text1 As String
'Dim text2 As String
'Dim text3 As String
'Dim Antwort1 As String
'Dim Antwort2 As String
Dim pname As String, clearname As String, svname As String, dlname As String
Dim namea As String, nameb As String, akt As Integer, pbrake As String
'Dim ziel As String
Dim X, Y, z As Integer
'Dim matnr As String
'fuer Filtern von Leerzeichen und Strichen in Artikelnummern:
Dim a, b As Integer
Dim austext, eintext, aus2 As String
pname = ActiveWorkbook.ActiveSheet.Name
Debug.Print clearname, svname
Dim i As Integer
Dim aktsheet As String
Dim strFilter As String, strSaveFilename As String, xname As String
Dim tag As String
namea = ActiveWorkbook.Name
Workbooks.Add
nameb = ActiveWorkbook.Name
Worksheets.Add
ActiveSheet.Name = "Stückliste"
If pname = "Cube Line" Then
xname = "'Cube Line'"
Else
xname = pname
End If
Debug.Print xname
Workbooks(namea).Activate
Debug.Print "test"; pname
Select Case pname
Case "Klemmleiste"
'1.Zeile i.d. STL
'Workbooks(nameb).Worksheets("Stückliste").Cells(1, 1) = "Mat.-Nr."
'Workbooks(nameb).Worksheets("Stückliste").Cells(1, 2) = "Pos.-Nr."
Workbooks(nameb).Worksheets("Stückliste").Cells(1, 1) = "Pos.-Typ"
Workbooks(nameb).Worksheets("Stückliste").Cells(1, 2) = "Komponente"
Workbooks(nameb).Worksheets("Stückliste").Cells(1, 3) = "Menge"
Workbooks(nameb).Worksheets("Stückliste").Cells(1, 4) = "Bezeichung"
Y = 3 '<--Zeilenzähler
'Materialnummer extrahieren
'matnr = ""
'eintext = Cells(66, 11) 'Position Materialnummer auf dem Formblatt
'For b = 1 To Len(eintext)
' austext = Mid(eintext, b, 1)
'If austext = "0" Then austext = "0"
'If austext = " " Then austext = ""
'If austext = "-" Then austext = ""
'matnr = matnr + austext
'Next 'b
'Matnr. := R415xxxxxx
'matnr = "R415" + Mid(matnr, 5, 6)
'Tabelle fuellen
For X = 12 To 88 'Anzahl der Zeilen i.d. STL - Bereich untereinander in der die INfos gespiegelt wurden
If Not Cells(X, 69) = "0" Then '69
'Workbooks(nameb).Worksheets("Stückliste").Cells(Y, 1) = matnr
'Workbooks(nameb).Worksheets("Stückliste").Cells(Y, 2) = (Y - 1) * 10
Workbooks(nameb).Worksheets("Stückliste").Cells(Y, 1) = "L"
Workbooks(nameb).Worksheets("Stückliste").Cells(Y, 3) = Cells(X, 75) 'mengenangabe
Workbooks(nameb).Worksheets("Stückliste").Cells(Y, 4) = Cells(X, 67)
'Filtern von Leerzeichen und Strichen von manuellen Eingaben
aus2 = ""
eintext = Cells(X, 74) 'eintext=Artikelnummern
For b = 1 To Len(eintext)
austext = Mid(eintext, b, 1)
' If austext = "0" Then austext = "0"
If austext = " " Then austext = ""
If austext = "-" Then austext = ""
aus2 = aus2 + austext
Next 'b
'Workbooks(nameb).Worksheets("Stückliste").Cells(Y, 4).NumberFormat = "@"
Workbooks(nameb).Worksheets("Stückliste").Cells(Y, 2).Value = aus2
Y = Y + 1
End If
Next X 'zeilenzähler 1 hoch
End Select
Workbooks(nameb).Activate
'Range("B2:B80").Select
'With Selection
'  .HorizontalAlignment = xlRight
'  .VerticalAlignment = xlBottom
'  .WrapText = False
'  .Orientation = 0
'  .AddIndent = False
'  .IndentLevel = 0
'  .ShrinkToFit = False
'  .ReadingOrder = xlContext
'  .MergeCells = False
'End With
Range("a1").Select
'ActiveSheet.Cells.Locked = True
'ActiveSheet.Protect "MRP"
ActiveWorkbook.Close
'End If
' End If
End Sub


Ich hatte es auch direkt in Excel gespeichert, nur leider ohne Erfolg :-(

Gruß
Leif
Anzeige
keine Lösung, aber
21.04.2005 11:44:24
Volker
Hallo Leif,
ich hab Deinen Code mal in eine neue Mappe eingefügt und ausgeführt.
Soweit kein Problem.
Leider bin ich mir nicht sicher, ob ich erst die Mappe und dann Excel geschlossen gehabe, oder sofort Excel geschlossen hab.
Jedenfalls hab ich, nachdem die Anwendung zu war, auch einen Fehlerbericht bekommen.
Konnte den Effekt bis jetzt nicht reproduzieren.
Eventuell liegt es an den Debuggerbefehlen "Debug.Print". Kommentier die doch mal aus.
Wenn Du zur Laufzeit Variable ansehen willst, kannst Du das auch im Überwachungsfenster machen. Hat den Vorteil, dass Du eine Änderung auch ohne extra Befehl mitkriegst.
Du siehst einen Variablenwert aber auch, wenn Du mit den Cursor an die Stelle im Code bewegst.
Das bringt Dich alles wahrscheinlich nicht wirklich weiter, aber vielleicht schaltet sich ja noch ein Profi ein.
Gruß
Volker
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige