Anzeige
Archiv - Navigation
1860to1864
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 1004

Laufzeitfehler 1004
30.12.2021 22:21:16
Romy
Hallo, ich benötige einen kurzen Stupser in die rictige Richtung. Der Debugger gibt mir für die fettgedruckte Zeile im Code den Laufzeitfehler 1004 aus. Wie sollte ich den Range umschreiben (ich vermute, dass es daran liegt) damit es wieder läuft?

Option Explicit
Dim R As Long
Dim rngZeile As Range
Dim BlattName1 As String, BlattName3 As String, BlattName2 As String
Dim strSuchFormel As String, strSuchWert As String
Sub test()
BlattName2 = "Kopie"
BlattName1 = "Projekte"
BlattName3 = "Zusatzinfo"
For Each rngZeile In Range(Range("Struktur[[Lfd. Nr.]]").Address)
R = rngZeile.Row
strSuchFormel = Sheets(BlattName3).Cells(R, Range(Range("Struktur[[Ort2]]").Address).Column).Value
With Sheets(BlattName1)
       .Range("Personal[Hilfsspalte]").FormulaR1C1 = _
"=IF(AND([@[zu Ort2, Ort3]]=" & strSuchFormel & ",[@Beginn]TODAY(),[@Ende]="""")),""Ja"",""Nein"")"
strSuchWert = "Ja"
'Weiterer Code...
End With
Next rngZeile
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 1004
30.12.2021 23:15:58
Marc
Hallo Romy,
Range.Address gibt keine Zahl (long) zurück. Einfach ohne .Address versuchen. Sollte funktionieren.
Gruß Marc
AW: Laufzeitfehler 1004
31.12.2021 00:17:12
ralf_b
nur ein versuch

"=IF(AND([@zu Ort2]&[@Ort3]=""" & strSuchformel & """,[@Beginn]=TODAY(),[@Ende]=""""),""Ja"",""Nein"")"

Laufzeitfehler 1004 - Problem gelöst
31.12.2021 00:57:50
Romy
@Marc: Eine andere Bereichsdeklaration wollte nicht so recht passen. Ich konnte (weshalb auch immer) das Problem lösen in dem ich den Code umgestellt und ein bisschen umher probiert hatte.

Sheets(BlattName1).Range(Range("Personal[[Hilfsspalte]]").Address).FormulaR1C1 = _
"=IF(AND([@[zu Ort2, Ort3]]=" & strSuchFormel & ",[@Beginn]TODAY(),[@Ende]="""")),""Ja"",""Nein"")"
strSuchWert = "Ja"
with Sheets(BlattName1)
'Weiterer Code...
@ralf_b: Deine Vermutung war auch richtig. Ist mir selbst beim herumprobieren aufgefallen, aber Danke für den weiteren Hinweis.
Anzeige
AW: Laufzeitfehler 1004 - Problem gelöst
31.12.2021 07:57:27
Luschi
Hallo Romy,
Sheets(BlattName1).Range(Range("Personal[[Hilfsspalte]]").Address)
ist eindeutig doppelt gemoppelt, denn aus einem Range-Bereich die Zelladressen als String zu ermitteln, um dann per Range() daraus wieder einen Zellbereich zu machen, ist einfach nur Krampf; siehe mein überspitztes Beispiel, welches man noch 'ne ganze Weile weiterspinnen könnte:
Dim rg As Range
Set rg = Tabelle1.Range(Tabelle1.Range(Tabelle1.Range(Range("meinBereich").Address).Address).Address)
Debug.Print rg.Address, rg.Parent.Name
Gruß von Luschi
aus klein-Paris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige