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

Typenunverträglichkeit bei Funktion Formula

Typenunverträglichkeit bei Funktion Formula
26.07.2016 17:19:41
ViGo
Hallo zusammen,
irgendwie scheint es heut nicht richtig mit meinen Codes klappen zu wollen...
Vielleicht habt ihr ja eine Idee, was hieran falsch ist.
Sub NW_berechnen()
Dim letztezeile As Long
With Worksheets("Marktanalyse")
letztezeile = Worksheets("Marktanalyse").UsedRange.SpecialCells(xlCellTypeLastCell).Row
'Größten NW finden
Worksheets("Auswahl_Ergebnis_1").Cells(14, 3).Formula = "=wenn(anzahl2(" & .Range(.Cells(3, 29), _
.Cells(letztezeile, 29)) & ")>=1;KGRÖSSTE(" & .Range(.Cells(3, 29), .Cells(letztezeile, 29)) & " ;1);"")"
End With
End Sub
Ich bekomm den Laufzeitfehler 13: typen unverträglich angezeigt. Er wird in der Zeile mit Formula ausgeworfen.
Weiß jemand von euch, wo der Fehler ist?
Viele Grüße,
ViGo

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Typenunverträglichkeit bei Funktion Formula
26.07.2016 17:26:04
Hajo_Zi
Ja Für "" muss es """" sein

AW: Typenunverträglichkeit bei Funktion Formula
26.07.2016 17:30:59
ViGo
Hallo Hajo!
Ich bekomme dann einen Syntaxfehler ausgegeben und die Formel wird rot...
AW: Typenunverträglichkeit bei Funktion Formula
26.07.2016 17:37:21
Hajo_Zi
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original.
Der Name einer hochgeladenen Mappe wird im Beitrag automatisch angezeigt, sodass es bei Verwendung von aussagekräftigen Namen leichter fällt, sie später im Ablageordner wiederzufinden und sie gedanklich einem bestimmten Thema zuzuordnen. Namen wie Test, Mappe, Beispiel usw. sind so allgemein, dass eine Zuordnung zu einem Thema unmöglich gemacht wird.
es müsste auch .FormulaLocal lauten da deutsche Begriffe.

.Cells(14, 3).FormulaLocal = "=wenn(anzahl2(" & .Range(.Cells(3, 29), _
.Cells(letztezeile, 29)).Address & ")>=1;KGRÖSSTE(" & .Range(.Cells(3, 29), .Cells(letztezeile, _
29)).Address & " ;1);"""")"

Gruß Hajo
Anzeige
AW: Typenunverträglichkeit bei Funktion Formula
26.07.2016 17:39:34
Daniel
Hi
1. falsche Formelsprache
wenn du die Formel mit .Formula in die Zellen schreibst, muss sie in englisch geschrieben werden, dh englische Funktionsnamen, Komma als Parameter- und Punkt als Dezimalzeichen.
wenn du die Formel wie gewohnt in landestypischer Schreibeweise in die Zellen schreiben willst, dann musst du .FormulaLocal verwenden.
2. Array anstelle Einzelwert
ich gehe mal davon aus, dass du hier:
...(" & .Range(.Cells(3, 29), .Cells(letztezeile, 29)) & ")...
nicht alle Werte aus diesem Bereich als Array in die Formel eintragen willst (das würde auch überhautp nicht funktionieren und ist für den Fehler 13 verantwortlich)
hier muss die Zelladresse des Zellbereichs als Einzelwert-Textstring eingegragen werden, dh:
...Anzahl2(" & .Range(.Cells(3, 29), .Cells(letztezeile, 29)).Address & ")...
3. Tabellenblattname fehlt
gleiche stelle wie 2. hat folgenden Fehler: durch die Punkte deutest du an, dass hier der Zellbezug auf das bei WITH definierte Tabellenblatt erfolgen soll. Das funktioniert hier aber so nicht, du musst den Tabellenblattnamen mit in die Formel aufnehmen:
...Anzahl2('" & .Name & "'!" & .Range(.Cells(3, 29), .Cells(letztezeile, 29)).Address & ")...
4. Anführungszeichen der Formel nicht gedoppelt
Wenn du in VBA einen Textstring angibst, der selbst Anführungszeichen enthalten soll, dann müssen die Anführungszeichen, die zum Text gehören, immer doppelt hingeschrieben werden. An dieser Dopplung kann dann der Interpreter diese zum Text gehörenden Anf.Zeichen von denen unterscheiden, die den Teilstring begrenzen: ...& " ;1);"""")"
das wären mal die vier Fehler, die beim schnellen drüberschauen so auffallen.
der Fehler Nr. 2 ist für die Fehlermeldung verantwortlich (Array anstelle Einzelwert)
Gruß Daniel
Anzeige
AW: Typenunverträglichkeit bei Funktion Formula
28.07.2016 10:52:58
ViGo
Hallo Hajo und Daniel!
Entschuldigt bitte, dass ich mich jetzt erst melde. Ich hatte viel um die Ohren, hab euch aber nicht vergessen!
Danke für eure Hinweise!
Da war wohl doch mehr falsch in dieser einen Formel als ich erwartet hab.
@ Hajo: Du hast natürlich Recht, wenn du sagst, dass du das nicht nachbaust, weil die Arbeit schon ein anderer gemacht hat. Ich werd darauf achten und beim nächsten mal gleich eine Beispiel- Mappe mithochladen, wenns passt.
@ Daiel: Ich setz mich nun mal an deine Vorschläge und versuch, die ganze Formel zum Laufen zu bringen. Sind auf jeden Fall nützliche Tipps, die ich mir merken werde!
Vielen Dank und viele Grüße,
ViGo
Anzeige
AW: Typenunverträglichkeit bei Funktion Formula
28.07.2016 23:16:33
ViGo
Hallo nochmal!
@ Daniel: Ich hab deine Hinweise nun umgesetzt! Funktioniert bestens! Hut ab! Und vielen Dank für deine Erklärungen! Hier einmal die richtige Formel, falls jemand mal ein ähnliches Problem haben sollte:
Worksheets("Tabelle1").Cells(14, 3).FormulaLocal = "=wenn(anzahl2(" & "'Tabelle2'!" & .Range(.Cells(3, 29), .Cells(letztezeile, 29)).Address & ")>=1;KGRÖSSTE(" & "'Tabelle2'!" & .Range(.Cells(3, 29), .Cells(letztezeile, 29)).Address & " ;1);"""")"
Schönen Abend noch!
Viele Grüße, ViGo
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige