Microsoft Excel

Herbers Excel/VBA-Archiv

Error 400 : Anwendungs- oder objektdef. Fehler

Betrifft: Error 400 : Anwendungs- oder objektdef. Fehler von: Henry
Geschrieben am: 27.08.2014 15:58:15

Moin,

ich benutze diesen Code wenn icheine Formel in eine Spalte bis zur letzten Zeile füllen möchte : ( der funktioniert )

Sub Tag()

  Dim iRow As Integer
  iRow = Cells(Rows.Count, 1).End(xlUp).Row
  Range("F2").Formula = "=TEXT(RC[-2],""TTTT"")"
  Range("F2:F" & iRow).FillDown
  
  
End Sub


Wenn ich jedoch denselben Code benutze um eine andere Formel in Spalte H zu schreiben bekomm ich eine Fehlermeldung: 400
Sub verweis1()


  Dim iRow As Long
  iRow = Cells(Rows.Count, 1).End(xlUp).Row
  Range("H2").Formula = "=SVERWEIS(F2;Sverweis!$A$1:$D$8;2;FALSCH)"
  Range("H2:H" & iRow).FillDown
  
  
End Sub

ich habe einen errorhandler eingebaut und der sagt Anwendungs oder Objektdefinierter Fehler.

Ich komme leider nicht weiter.

Wer kennt dieses Problem bzw kann mir bei der Lösung helfen ?

  

Betrifft: AW: Error 400 : Anwendungs- oder objektdef. Fehler von: Henry
Geschrieben am: 27.08.2014 16:02:53

Entschuldigung habe vergessen zu erwähnen DIM AS habe ich bei beiden als Long und Integer ausprobiert.

beim zweiten Makro bekomm ich jedoch immer dieselbe Meldung egal ob ich als Long oder Integer setze


  

Betrifft: AW: Error 400 : Anwendungs- oder objektdef. Fehler von: ChrisL
Geschrieben am: 27.08.2014 16:08:26

Hi Henry

.Formula = englisch
.FormulaLocal = systemsprache

d.h. mit FormulaLocal sollte es funktionieren.

Wenn die Datei allerdings unabhängig von der Systemsprache funktionieren soll, dann besser in Englisch. SVERWEIS = VLOOKUP und Komma statt Strichpunkt.

Viel Erfolg
Chris


  

Betrifft: AW: Error 400 : Anwendungs- oder objektdef. Fehler von: yummi
Geschrieben am: 27.08.2014 16:17:39

Hallo Henry,

Range("H2").Formula = "=VLOOKUP($F$2,$A$1:$D$8,2,FALSE)"

Gruß
yummi


  

Betrifft: Beide Codes enthalten formale Fehler, ... von: Luc:-?
Geschrieben am: 27.08.2014 16:13:40

…Henry;
eine Z1S1-Formel schreibt man in Original­Schreibweise R1C1 in .FormulaR1C1, eine A1-Formel in lokaler Schreibweise in .FormulaLocal. iRow sollte auch im 1.Code Long sein. Allerdings sollte das nicht zu einem Fehler führen, sondern nur zu Unbequem­lich­keiten. Folglich dürfte der Fehler an einer anderen Stelle ausgelöst wdn.
Gruß, Luc :-?

Besser informiert mit …


  

Betrifft: AW: FillDown ist in VBA meist überflüssig von: Daniel
Geschrieben am: 27.08.2014 16:40:48

Hi

neben den schon erwähten Fehlern kannst du auch das FillDown meistens weglassen.
Wenn nur die Formel in die Zellen geschrieben werden soll, kannst du diese auch gleich in alle Zellen gleichzeitig eintragen.

Beachten musst du, wie schon gesagt, dass du die Formel in der richtigen Schreibweise einträgst, es gibt vier möglichkeiten:

.Formula: englische Schreibweise, Zellbezüge in A1
.FormulaR1C1: englische Schreibweise, Zellbezüge in R1C1
.FormulaLocal: deutsche Schreibweise, Zellbezüge in A1
.FormulaR1C1Local: deutsche Schreibweise, Zellbezüge in Z1S1 (R1C1 in deutsch)

englische Schreibweise heißt:
- englsiche Funktionsnamen
- Parametertrennzeichen: Komma
- Dezimalzeichen: Punkt

deutsche Schreibweise:
- deutsche Funktionsnamen
- Parametertrennzeichen: Semikolon
- Dezimalzeichen: Komma

Sub Tag()
      Dim iRow As Long
      iRow = Cells(Rows.Count, 1).End(xlUp).Row
      Range("F2:F" & iRow).FormulaR1C1 = "=TEXT(RC[-2],""TTTT"")"
End Sub

Sub verweis1()
      Dim iRow As Long
      iRow = Cells(Rows.Count, 1).End(xlUp).Row
      Range("H2:H" & iRow).FormulaLocal = "=SVERWEIS(F2;Sverweis!$A$1:$D$8;2;FALSCH)"
End Sub
Gruß Daniel


 

Beiträge aus den Excel-Beispielen zum Thema "Error 400 : Anwendungs- oder objektdef. Fehler"