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

Laufzeifehler 1004 HILFE!!!!

Laufzeifehler 1004 HILFE!!!!
15.03.2013 13:18:01
Michael
hallo leute,
habe ein makro in vba editor programmiert.
wenn ich im editor mit f8 das makro abrufe, funkt alles.
geh ich aber in mein excel sheet auf entwicklungstools, makros (und rufe mein makro auf) funkt leide rnichts mehr.
was mach ich falsch, bitt um eure Hilfe!!!
Sub LOG_File_Makro()
'Sicherstellen, dass ich auf dem richtigen Arbeitsblatt bin
ThisWorkbook.Worksheets(1).Activate
'Bedingete Formatierung der Zelle A3
'Zelleninhalt A3:
'"GESPERRT";
'Schriftart ARIAL, FETT, Größe 28, Ausrichtung ZENTRIERT, Schriftfarbe WEIß
'Hintergrundfarbe rot RGB=(255,0,0)
'Zelleninhalt "A3" in Grossbuchstaben umwandeln
Dim Zelle As Range
For Each Zelle In Range("A3")
Zelle = UCase(Zelle.Value)
Next Zelle
'Allgemeine Zellenformatierung für "A3"
'Anordnung mittig, Schriftart Arial, Größe 28
Range("A3").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.ReadingOrder = xlContext
End With
With Selection.Font
.Name = "Arial"
.Size = 28
End With
'bedingte Formatierung für Zelleninhalt "A3" "FREIGABE"
'Schriftfarbe schwarz, Hintergrund grün RGB(79, 249, 39)
Selection.FormatConditions.Add Type:=xlTextString, String:="FREIGABE", _
TextOperator:=xlContains
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Bold = True
.Color = RGB(0, 0, 0)
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = RGB(79, 249, 39)
End With
'bedingte Formatierung für Zelleninhalt "A3" "GESPERRT"
'Schriftfarbe weiß RGB(255, 255, 255), Hintergrund rot Color = 255
Selection.FormatConditions(1).StopIfTrue = False
Selection.FormatConditions.Add Type:=xlTextString, String:="GESPERRT", _
TextOperator:=xlContains
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Bold = True
.Color = RGB(255, 255, 255)
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
End With
Selection.FormatConditions(1).StopIfTrue = False
'Abfrage ob der Zeileninhalt aktualisiert ist
Dim MsgBoxA As String
MsgBoxA = MsgBox("Ist das Feld A3 aktualisiert?")
'File speichern
Dim Zelleninhalt_A As String
Dim Log As String
Dim TB As String
Zelleninhalt_A = Range("A3")
Log = Left(Range("A1"), 3)
TB = Left(Range("C3"), 8)
'Makro speichern auf meinem Desktop
If Zelleninhalt_A = "GESPERRT" Then
ActiveWorkbook.SaveAs Filename:="C:\Users\michael\Desktop\" & Zelleninhalt_A & "_" &  _
Log & "_" & TB, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Else
ActiveWorkbook.SaveAs Filename:="C:\Users\michael\Desktop\" & Log & "_" & TB, FileFormat: _
_
=xlOpenXMLWorkbook, CreateBackup:=False
End If
End Sub
DANKE im Voraus!

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

Betreff
Datum
Anwender
Anzeige
AW: Laufzeifehler 1004 HILFE!!!!
15.03.2013 17:29:46
schauan
Hallo Michael,
Das alles nicht läuft, kann ich mir nicht vorstellen. Der code muss doch irgendwo mit einem Fehler stecken bleiben.
Ich hab nur gesehen, dass bei Deinem zweiten Speichern am Ende der Zeilentrenner "_" nicht passt. Nimm das mal vor das FileFormat.
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

Laufzeifehler 1004 ohne Geschrei
15.03.2013 19:15:19
Erich
Hi Michael,
klar ist so ein Fehler machmal zum Verzweifeln, oder viele Menschen hier wenden sich mit solchen Fehlern an das Forum,
ohne "HILFE!!!!" ...
Zwei Fragen:
a)
Wo genau steht das Makro? In denem allg. Modul? Oder im Code eines Tabellenblatts?
Den Namen des Moduls siehst du lím VBA-Editor links im Projektmanager oder, wenn das Modul angezeigt wird,
ganz oben in der Titelleiste.
b)
Hast du schon mal probiert, das Makro von Excel aus (also mit Entwicklertools - Makros) schrittrweise
auszuführen? Was passiert dann?
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Laufzeifehler 1004 ohne Geschrei
18.03.2013 12:33:24
Michael
Hallo Erich!
Danke für deinen Tipp!
ich hab "option a" gewählt!
logisch ist es zwar nicht für mich aber so funkt es.
mein makro stand in VBAProject (PERSONAL.XLSB) ich habe das modul kopiert und in die "arbeitsmappe" eingefügt und siehe da es funkt!
DANKE für die Hilfe!

Erklärung:
18.03.2013 13:18:36
Klaus
Hallo Michael,
im Einzelschrittmodus hat es gefunkt (sic!), weil du in einem bestimmten Arbeitsblatt warst als du das Makro aufgerufen hast. Die Zeile:
ThisWorkbook.Worksheets(1).Activate
funkt (sic!) natürlich nicht in der PERSONAL.XLSB, da diese kein Sheet1 hat. Im Einzelschrittaufruf war der Focus woanders, darum hat es gefunkt (sic!).
Ach aus diesem Grund sollte man auf .Activate und .Select innerhalb des Makros verzichten.
statt
   Range("A3").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.ReadingOrder = xlContext
End With

kannst du auch direkt
   With Range("A3")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.ReadingOrder = xlContext
End With

oder noch direkter
   with sheets("Tabelle1").Range("A3")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.ReadingOrder = xlContext
End With

referenzieren.
Wenn du das konsequent durchziehst, musst du auch nicht sicherstellen dass du "im richtigen Blatt" bist (das Makro läuft von überall), verhinderst Laufzeitfehler wie den hier vorkommenden, der Bildschirm flackert nicht mehr, das Makro läuft in 0,1 sek durch statt in 1 sek ....
Grüße,
Klaus M.vdT.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige