Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Fehler nur in Excel 97!



Excel-Version: 10.0 (Office XP)

Betrifft: Fehler nur in Excel 97!
von: Dieter Schiele
Geschrieben am: 05.06.2002 - 12:38:59

Hallo,

ich habe ein Makro in Excel 2002 geschrieben und das läuft unter Excel 2000 und 2002 problemlos. Nur in Excel 97 bekomme ich den Fehler 13 Typen unverträglich. Auch steigt bei einigen Rechnern das Programm aus, wenn die Excel Meldung kommt, ob die Datei überschrieben werden soll, oder nicht.

Irgendwie komme ich nicht weiter...

hier der Code (... vorsicht, bin Anfänger!!)
Übrigens:
Das Programm startet ein kleines Formular, der Anwender muss einen Monat aus einer ComboBox auswählen und hat die Möglichkeit zwei Optionsfelder anzuklicken. Dann auf OK button und los geht´s....

Private Sub cmd_start_Click()


' Wenn Änderungen kommmen!!!!!!!!!!!!!!!!1
' die Reihenfolge der Tabellenblätter muss unbedingt so eingehalten werden _

'Schiele 14.02.2002


'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
' Errorcheck
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

On Error GoTo Ende

frm_Monatsabschluss.Hide

'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
' Vorarbeiten
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
'allerlei Eingabechecks
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
' überprüft die Eingabe
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Dim Monatszahl As Integer
Monatszahl = cbox_Monat.ListIndex

If Monatszahl <= 0 Then
MsgBox "Bitte wählen Sie einen Monat aus."
frm_Monatsabschluss.Show
cbox_Monat = ""
cbox_Monat.SetFocus

End If


'Variable Eingabe aus der ComboBox definieren

Dim Abschlussmonat
Abschlussmonat = cbox_Monat.Text

Select Case cbox_Monat
Case 0
Abschlussmonat = "Januar"
Case 1
Abschlussmonat = "Februar"
Case 2
Abschlussmonat = "März"
Case 3
Abschlussmonat = "April"
Case 4
Abschlussmonat = "Mai"
Case 5
Abschlussmonat = "Juni"
Case 6
Abschlussmonat = "Juli"
Case 7
Abschlussmonat = "August"
Case 8
Abschlussmonat = "September"
Case 9
Abschlussmonat = "Oktober"
Case 10
Abschlussmonat = "November"
Case 11
Abschlussmonat = "Dezember"


End Select

'Blattschutz aufheben

Sheets("Labor").Select
ActiveSheet.Unprotect
Sheets("Filme").Select
ActiveSheet.Unprotect
Sheets("Rahmen").Select
ActiveSheet.Unprotect
Sheets("Alben").Select
ActiveSheet.Unprotect
Sheets("Analogkameras").Select
ActiveSheet.Unprotect
Sheets("Digitalkameras").Select
ActiveSheet.Unprotect
Sheets("Mobilfunk").Select
ActiveSheet.Unprotect
Sheets("Sonstiges").Select
ActiveSheet.Unprotect
Sheets("Gesamt").Select
ActiveSheet.Unprotect
Sheets("Monatsvergleich").Select
ActiveSheet.Unprotect


'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
' Option Dateien Sichern
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Dim Monat, Speicherort
Monat = cbox_Monat.Text
Speicherort = "C:\EasyChart\Sicherung\"

If CckBox_Sichern = True Then

' Sicherung abspeichern

ActiveWorkbook.SaveAs Filename:= _
Speicherort & "Backup " & Monat, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
End If


'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
' Übertrag der Daten im Monatsblatt
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


' Auswahl der Monatsspalte

Dim Monatsspalte

Monatsspalte = cbox_Monat.ListIndex


' Zuordnen

Sheets("Labor").Select
Range("a1").Select
ActiveCell.Offset(28, 27).Range("A1:A2").Select
Selection.Copy
Sheets("Monatsvergleich").Select
Range("a1").Select
ActiveCell.Offset(1, 0 + Monatsspalte).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Sheets("Filme").Select
Range("a1").Select
ActiveCell.Offset(28, 27).Range("A1:A2").Select
Selection.Copy
Sheets("Monatsvergleich").Select
Range("a1").Select
ActiveCell.Offset(4, 0 + Monatsspalte).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Sheets("Rahmen").Select
Range("a1").Select
ActiveCell.Offset(28, 27).Range("A1:A2").Select
Selection.Copy
Sheets("Monatsvergleich").Select
Range("a1").Select
ActiveCell.Offset(7, 0 + Monatsspalte).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Sheets("Alben").Select
Range("a1").Select
ActiveCell.Offset(28, 27).Range("A1:A2").Select
Selection.Copy
Sheets("Monatsvergleich").Select
Range("a1").Select
ActiveCell.Offset(10, 0 + Monatsspalte).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Sheets("Analogkameras").Select
Range("a1").Select
ActiveCell.Offset(28, 27).Range("A1:A2").Select
Selection.Copy
Sheets("Monatsvergleich").Select
Range("a1").Select
ActiveCell.Offset(13, 0 + Monatsspalte).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Sheets("Digitalkameras").Select
Range("a1").Select
ActiveCell.Offset(28, 27).Range("A1:A2").Select
Selection.Copy
Sheets("Monatsvergleich").Select
Range("a1").Select
ActiveCell.Offset(16, 0 + Monatsspalte).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Sheets("Mobilfunk").Select
Range("a1").Select
ActiveCell.Offset(28, 27).Range("A1:A2").Select
Selection.Copy
Sheets("Monatsvergleich").Select
Range("a1").Select
ActiveCell.Offset(19, 0 + Monatsspalte).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Sheets("Sonstiges").Select
Range("a1").Select
ActiveCell.Offset(28, 27).Range("A1:A2").Select
Selection.Copy
Sheets("Monatsvergleich").Select
Range("a1").Select
ActiveCell.Offset(22, 0 + Monatsspalte).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Sheets("Gesamt").Select
Range("a1").Select
ActiveCell.Offset(28, 27).Range("A1:A2").Select
Selection.Copy
Sheets("Monatsvergleich").Select
Range("a1").Select
ActiveCell.Offset(25, 0 + Monatsspalte).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("a1").Select

Sheets("Labor").Select
Range("a1").Select


'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
' Option Einträge löschen
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX


' Einträge löschen

If CckBox_Löschen = True Then

Sheets("Labor").Select
Range("B1:E1,T1:U1,B28:AB28").Select
Selection.ClearContents
Range("a1").Select
Sheets("Filme").Select
Range("B1:E1,T1:U1,B28:AB28").Select
Selection.ClearContents
Range("a1").Select
Sheets("Rahmen").Select
Range("B1:E1,T1:U1,B28:AB28").Select
Selection.ClearContents
Range("a1").Select
Sheets("Alben").Select
Range("B1:E1,T1:U1,B28:AB28").Select
Selection.ClearContents
Range("a1").Select
Sheets("Analogkameras").Select
Range("B1:E1,T1:U1,B28:AB28").Select
Selection.ClearContents
Range("a1").Select
Sheets("Digitalkameras").Select
Range("B1:E1,T1:U1,B28:AB28").Select
Selection.ClearContents
Range("a1").Select
Sheets("Mobilfunk").Select
Range("B1:E1,T1:U1,B28:AB28").Select
Selection.ClearContents
Range("a1").Select
Sheets("Sonstiges").Select
Range("B1:E1,T1:U1,B28:AB28").Select
Selection.ClearContents
Range("a1").Select

' Gesamt wird nicht gelöscht, da Formeln drin sind

End If

' Blattschutz einstellen

Sheets("Labor").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Filme").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Rahmen").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Alben").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Analogkameras").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Digitalkameras").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Mobilfunk").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Sonstiges").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Gesamt").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Monatsvergleich").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

Sheets("Labor").Select
Range("A1").Select


'XXXXXXXXXXXXXXXXXXXXXXXXXXX
' Datei sichern
'XXXXXXXXXXXXXXXXXXXXXXXXXXX

ActiveWorkbook.SaveAs Filename:= _
"C:\EasyChart\Statistik", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False


' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
' Goto error Floskeln
' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

GoTo Ende2
Ende:
Dim Fehlermeldung2
Fehlermeldung2 = MsgBox("Fehler Nr " & Err.Number & " in " & Err.Source & vbCrLf _
& "Beschreibung:" & vbCrLf & Err.Description & vbCrLf & "Bitte wenden Sie sich an dieter.schiele@fotoquelle.de", _
vbOKOnly, Fehlermeldung)
Ende2:


Sheets("Labor").Select
Range("A1").Select

End Sub

  

Re: Fehler nur in Excel 97!
von: Ramses
Geschrieben am: 05.06.2002 - 12:51:35

Hallo Dieter,

vielleicht solltest du noch schreiben wo in dem Listing der Fehler auftritt.
Ansonsten ist es etwas schwierig nachzuvollziehen.

Gruss Rainer


  

Re: Fehler nur in Excel 97!
von: Eberhard G.
Geschrieben am: 05.06.2002 - 13:12:34

Hallo Dieter,

habe ich recht in der Annahme, daß der Fehler bei Select Case auftaucht? Hier solltest Du in der Tat Select Case Cbox_Monat.Listindex schreiben - ganz abgesehen davon, daß all' die anderen Selects ganz sicherlich Hansens Augenbrauen ganz erheblich in die Höhe gehen ließen, sollte er Deinen Code einmal lesen...

Gruß, Eberhard


  

Re: Fehler nur in Excel 97!
von: Dieter Schiele
Geschrieben am: 05.06.2002 - 13:36:40

Vielen Dank für eure Antworten

- Fehler hin oder her, wieso bringt 97 eine Fehlermeldung und 2002 nicht?

- Ich kann es leider nicht lokalisieren, sonst hätte ich schon vorher rumprobiert. Der 97 Rechner hat kein VBA für Excel installiert.

- Da muss doch aber was mit der Typangabe falsch laufen, nur was halt......

Mit der Select Case Änderung funktioniert es auch nur in Excel 2002/XP


 

Beiträge aus den Excel-Beispielen zum Thema "Fehler nur in Excel 97!"