Anzeige
Archiv - Navigation
1080to1084
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

Laufzeitfehler bei Set-Funktion

Laufzeitfehler bei Set-Funktion
15.06.2009 17:03:27
Hermann
Hallo,
ich möchte über einen CommandButton den Druck von bestimmten Daten, welche sich in einem anderen Tabellenblatt in der gleichen Datei befinden, anstoßen.
Dies sieht auszugsweise so aus:
Routine im aktiven Tabellenblatt (z.B. Tabelle 2):

Private Sub CommandButton1_Click()
Call TR
End Sub


Routine im Modul1:
Sub TR()
On Error GoTo Fehler
Sheets("Tabelle1").Activate 'aus bestimmtem Blatt
Dim SP As Integer, ZE As Integer, LR As Integer, TB1 , Zelle, Anzahl%, Produkt$, Charge$, WertA1$, WertA2$, WertA3$, WertB1$, WertB2$, WertB3$, WertA$, WertB$, TRA$, TRB$, TR$, i As Integer
Set TB1 = ActiveWorkbook.Sheets("Tabelle1") 'aus bestimmtem Blatt
i = 0
Anzahl = Cells(2, 7) 'Anzahl der geprüften Chargen
Produkt = "A2" 'Definition der Zellbezüge
Charge = "C2"
.
.
.
For i = 0 To Anzahl - 1 'Druckschleife in Abhängigkeit der Chargenanzahl
SP = 8 'Startspalte der Druckdaten
ZE = 2 + i 'Startzeile der Druckdaten
TB1.Range(Produkt) = Cells(ZE, SP) 'Zuordnung der Zellbezüge
TB1.Range(Charge) = Cells(ZE, SP + 1)
.
.
.
.
.
ActiveWindow.SelectedSheets.PrintOut Copies:=1 ' Druckbereich ausdrucken
Next
Fehler: 'Fehlerbehandlung
If Err.Number 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
Sheets("TR_Asche Glührückstand").Activate
End Sub


Problem ist nun das bei der Zeile:
TB1.Range(Produkt) = Cells(ZE, SP)
das Programm mit Fehler 1004 aussteigt.
Ich bermute das es mit der DIM oder Set-Funktion zu TB1 zusammenhängt, komme aber nicht weiter.
Könnt Ihr mir helfen?
Gruß
Hermann

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler bei Set-Funktion
15.06.2009 17:32:18
Luschi
Hallo Hermann,
gemäß der Definition mit Dim ist die Varable TB1 eine normale vom Typ Variant und keine Objektvariable
So wird's richtig:
Dim SP As Integer, ZE As Integer, LR As Integer, TB1 As Range, Zelle As Range, ...
Gruß von Luschi
aus klein-Paris
AW: Laufzeitfehler bei Set-Funktion
15.06.2009 17:43:34
Hermann
Hallo Luschi,
jetzt steigt das Programm mit Fehler 13 "Typen unverträglich" in der Zeile
Set TB1 = ActiveWorkbook.Sheets("Tabelle1")
aus.
Gruß
Hermann
evtl. mit ... Dim TB1 As Worksheet ... ? oT
15.06.2009 17:53:50
Matthias
AW: evtl. mit ... Dim TB1 As Worksheet ... ? oT
16.06.2009 09:04:18
Hermann
Hallo Matthias,
nun steigt das Programm wieder in der Zeile
TB1.Range(Produkt) = Cells(ZE, SP) aus mit Fehler 1004 "Anwendungs bzw. Objektdefinierter Fehler"
Mit TB1 As Object funktioniert es auch nicht.
Gruß
Hermann
Anzeige
AW: evtl. mit ... Dim TB1 As Worksheet ... ? oT
16.06.2009 09:56:25
robert
hi,
vielleicht so ?
gruß
robert
TB1.Range(Produkt) = TB1.Cells(ZE, SP) 'Zuordnung der Zellbezüge
TB1.Range(Charge) = TB1.Cells(ZE, SP + 1)
AW: evtl. mit ... Dim TB1 As Worksheet ... ? oT
16.06.2009 10:18:46
Hermann
Hallo Robert,
so funktioniert es auch nicht.
Die Set-Funktion verlangt anscheinend nach einem Objekt, aber die Excel-Hilfe sagt mir mit meinen Kenntnissen garnichts.
Gruß
Hermann
Neuer Versuch..
16.06.2009 12:39:13
robert
hi,
das funktioniert bei mir :-)
gruß
robert

Sub TR()
On Error GoTo Fehler
Sheets("Tabelle1").Activate 'aus bestimmtem Blatt
Dim SP As Integer, ZE As Integer, LR As Integer, TB1 As Worksheet, Zelle, Anzahl%, Produkt$,  _
Charge$, WertA1$, WertA2$, WertA3$, WertB1$, WertB2$, WertB3$, WertA$, WertB$, TRA$, TRB$, TR$, i As Integer
Set TB1 = ActiveWorkbook.Sheets("Tabelle1") 'aus bestimmtem Blatt
i = 0
Anzahl = Cells(2, 7) 'Anzahl der geprüften Chargen
Produkt = "A2" 'Definition der Zellbezüge
Charge = "C2"
For i = 0 To Anzahl - 1 'Druckschleife in Abhängigkeit der Chargenanzahl
SP = 8 'Startspalte der Druckdaten
ZE = 2 + i 'Startzeile der Druckdaten
TB1.Range(Produkt) = TB1.Cells(ZE, SP) 'Zuordnung der Zellbezüge
TB1.Range(Charge) = TB1.Cells(ZE, SP + 1)
ActiveWindow.SelectedSheets.PrintOut Copies:=1 ' Druckbereich ausdrucken
Next
Fehler: 'Fehlerbehandlung
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
Sheets("Tabelle1").Activate
End Sub


Anzeige
AW: Neuer Versuch
16.06.2009 17:20:11
Hermann
Danke Robert,
jetzt funktioniert es.
Gruß
Hermann
Danke f.Rückmeldung...owT
16.06.2009 18:18:04
robert

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige