Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler bei Set-Funktion

Forumthread: 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

Anzeige

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
Anzeige
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
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)
Anzeige
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
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige