AW: Datei kann nicht mehr gespeichert werden
15.01.2009 12:45:00
fcs
Hallo Nils,
ich hab mal deine Datei mit Windows XP, Excel 2003 getestet.
Bei mir war das Makro "Jobzettel" noch nicht dem Button in "Liste_Jobs" zugeordnet.
Bei mir funktioniert Speichern und Makros ebenfalls reibungslos.
Du solltes allerdings dein Makro wie folgt anpassen. Dann
1. flackert der Bildschirm nicht wegen ständiger Blattwechsel
2. Wenn eingegebene Nummer nicht vorhanden ist, dann erfolgt eine Meldung.
3. Die Nummer wird auch nur in Spalte C gesucht.
Im Blatt "Jobzettel" solltest du das Format für die Zelle mit der Jobnummer auch auf das Portugisische PLZ-Format ändern.
In deinem Code ist das Kopieren des Wertes aus Spalte O nicht korrekt. Bei dir kommt 2-mal Kopieren von Spalte M in den Job-Zettel vor, Kopieren von Spalte O fehlt..
Gruß
Franz
Sub Jobzettel()
' Jobzettel Makro
' Makro am 01.12.2008 von W E aufgezeichnet
Dim JobNr As Variant, IntZeile As Long, y As Long, SuchZelle As Range
Dim wksListe As Worksheet, wksZettel As Worksheet
On Error GoTo Fehler
Set wksListe = Worksheets("Liste_Jobs")
Set wksZettel = Worksheets("Jobzettel")
wksListe.Activate
JobNr = Application.InputBox("Jobnummer eingeben und Eingabe tätigen:", _
"Wert", 0, Type:=1)
If JobNr = 0 Then Exit Sub
Set SuchZelle = Columns(3).Find(what:=Format(JobNr, "0000"), After:=ActiveCell, _
LookIn:=xlValues, lookat:=xlWhole, SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, MatchCase:=False)
If SuchZelle Is Nothing Then
MsgBox "Eingegebne Job-Nummer ist nicht vorhanden!"
Else
SuchZelle.Activate
IntZeile = SuchZelle.Row
y = SuchZelle.Column
With wksListe
wksZettel.Range("B1").Value = .Range("B" & IntZeile).Value
wksZettel.Range("B2").Value = .Range("C" & IntZeile).Text
wksZettel.Range("B3").Value = .Range("D" & IntZeile).Value
wksZettel.Range("K3").Value = .Range("F" & IntZeile).Value
wksZettel.Range("K2").Value = .Range("G" & IntZeile).Value
wksZettel.Range("B17").Value = .Range("H" & IntZeile).Value
wksZettel.Range("K9").Value = .Range("I" & IntZeile).Value
wksZettel.Range("K10").Value = .Range("J" & IntZeile).Value
wksZettel.Range("K11").Value = .Range("K" & IntZeile).Value
wksZettel.Range("B34").Value = .Range("L" & IntZeile).Value
wksZettel.Range("C34").Value = .Range("M" & IntZeile).Value
wksZettel.Range("D34").Value = .Range("N" & IntZeile).Value
wksZettel.Range("E34").Value = .Range("O" & IntZeile).Value
wksZettel.Range("F34").Value = .Range("P" & IntZeile).Value
wksZettel.Range("G34").Value = .Range("Q" & IntZeile).Value
wksZettel.Range("K27").Value = .Range("R" & IntZeile).Value
wksZettel.Range("L27").Value = .Range("S" & IntZeile).Value
wksZettel.Range("K30").Value = .Range("T" & IntZeile).Value
wksZettel.Range("L30").Value = .Range("U" & IntZeile).Value
wksZettel.Range("M30").Value = .Range("V" & IntZeile).Value
wksZettel.Range("K33").Value = .Range("W" & IntZeile).Value
wksZettel.Range("L33").Value = .Range("X" & IntZeile).Value
wksZettel.Range("M33").Value = .Range("Y" & IntZeile).Value
wksZettel.Range("K35").Value = .Range("Z" & IntZeile).Value
wksZettel.Range("K20").Value = .Range("AA" & IntZeile).Value
wksZettel.Range("K21").Value = .Range("AB" & IntZeile).Value
wksZettel.Range("B19").Value = .Range("AC" & IntZeile).Value
wksZettel.Range("B26").Value = .Range("AD" & IntZeile).Value
wksZettel.Range("B30").Value = .Range("AE" & IntZeile).Value
wksZettel.Range("B15").Value = .Range("AF" & IntZeile).Value
wksZettel.Range("K7").Value = .Range("AG" & IntZeile).Value
wksZettel.Range("K17").Value = .Range("AH" & IntZeile).Value
wksZettel.Range("K18").Value = .Range("AI" & IntZeile).Value
wksZettel.Range("K38").Value = .Range("AJ" & IntZeile).Value
Application.CutCopyMode = False
End With
wksZettel.Activate
End If
Fehler:
With Err
If Err.Number 0 Then
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End If
End With
End Sub