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

Tomaten auf den Augen

Tomaten auf den Augen
17.02.2017 15:51:31
Dennis
Hallo zusammen,
habe folgenden Code, der mir den Fehlercode "Run time error 1004, application-defined or object-defined error" liefert

Sub Kontrollblätter_drucken()
Dim i As Integer
Dim Blatt As Variant
For i = 1 To 25
Blatt = Worksheets("Sheet1").Range(Cells(i + 4, 1))
Next
End Sub

Ersetzte ich Range(Cells(i + 4, 1)) durch Range("A5") funktioniert die Schleife. Erkenne leider meinen Fehler nicht. Kann mir jemand nen Wink geben.
Danke!

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ein "Set" fehlt vor dem Blatt in der Schleife owT
17.02.2017 15:53:58
Martin
owT
AW: Tomaten auf den Augen
17.02.2017 15:58:56
ChrisL
Hi Dennis
Ich vermute...
Dim Blatt As String
Blatt = Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(i + 4, 1))
oder
Dim Blatt As String
Blatt = Worksheets("Sheet1").Cells(i + 4, 1)
...abhängig vom Zelleninhalt... oder als Range...
Dim Blatt As Range
Set Blatt = Worksheets("Sheet1").Cells(i + 4, 1)
cu
Chris
AW: Tomaten auf den Augen
17.02.2017 16:01:57
ChrisL
Noch eine Variante...
Dim Blatt As Worksheet
Set Blatt = Worksheets(Worksheets("Sheet1").Cells(i + 4, 1))
cu
Chris
AW: Tomaten auf den Augen
17.02.2017 16:02:02
Daniel
Hi
der Range-Befehl hat zwei Varianten:
1. Variante: EIN Parameter.
hier ist der Parameter ein Text, welcher der Adresse eines Zellbereichs entspricht
2. Variante: ZWEI Parameter
hier sind die beiden Parameter zwei Zellen oder andere Range-Objekte, die Range-Funktion spannt dann den Zellbereich über diese beiden Zellen als Eck-Zellen des Bereichs auf
du verwendest hier die erste Variante und VBA erwartet einen Text als Parameter und keine Zelle.
dh das Cells(i + 4, 1) wird zu Cells(i + 4, 1).Value ergänzt und du versuchst die Zelle anzusprechen, deren Adresse in der Zelle Cells(i + 4, 1) als Text steht, dh in dieser Zelle müssste ein Text in der Art "A1" oder "AX99" stehen
wenn du stattdessen direkt die Zelle Cells(i + 4, 1) ansprechen willst, müsstest du das hier schreiben:
Blatt = Worksheets("Sheet1").Range(Cells(i + 4, 1).Address).Value
bei einer Einzelzelle geht man aber nicht über Range, sondern direkt über Cells
Blatt = Worksheets("Sheet1").Cells(i + 4, 1)
Gruß Daniel
Anzeige
AW: Tomaten auf den Augen
17.02.2017 16:12:36
Dennis
Top, vielen Dank für die Erklärung!
Funktioniert jetzt.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige