Anzeige
Archiv - Navigation
1276to1280
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
Name per VBA in Formel?
25.09.2012 19:52:12
Prevertex
Hallo zusammen.
Ich versuche per Makro eine Formel mit definierten Namen hinzubekommen.
Mein erster gescheiterter Veruch war
Dim MISe as String
MISe = Range("CS83")
ActiveCell.FormulaR1C1 = "=VLOOKUP(3, MISe,3,FALSE)"

Ein weiterer Versuch war manueller. Aus
Range("CO99") = VERKETTEN("=SVERWEIS(3,";CS83;",3, FALSCH)") 'CS83 = Name (In2B)
'und
ActiveCell.FormulaR1C1 = Range("CO99")
wurde zwar das richtige
=SVERWEIS(3;In2B;3;FALSCH)

woraus sich aber per Makro z.B. ÁctiveCell.Calculate, nicht das Ergebnis anzeigen lässt; es bleibt als Text stehen. Das richtige Ergebnis kommt nur mit manuellem aufs Häkchen klicken in der Bearbeitungsleiste.
Ich hoffe, das es nicht zu simplistisch ist, aber ich komme an der Stelle schlichtweg nicht weiter und/oder suche nach den falschen Schlagwörtern.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Name per VBA in Formel?
25.09.2012 20:06:25
Hajo_Zi
dein erster Versuch, einer Zelle kannst Du nicht den Namen 3 geben, also komplette Adresse. Einen Bereich mit dem Namen MiSe gint es der min 3 Spalten breit ist.

AW: Name per VBA in Formel?
25.09.2012 23:16:13
Prevertex
Sry, ich denk ich hab mich total mißverständlich ausgedrückt.
Die erste 3 soll das Suchkriterium sein, also dritte Zeile in der Matrix (CQ81:CS100), die ich vorher als InB2 benannt habe. MISe (von CCS83) ist der String der InB2 in der fertigen Formel ergeben soll.
Das Problem ist nicht, das ich die Formel nicht einmal widerholt immer gleich mit InB2 machen kann, sondern das es jeweils 5 Formeln mit den gleichen Namen als Matrix sind, es aber über 100 unterschiedliche Namen sind (InB2 - InZz) auf der gleichen Anzahl von Blättern.
Wenn ich keinen Weg finde, die Formeln per Makro mit jeweils variierenden Namen automatisch zu schreiben, muß ich manuell die Hundertschaften durchgehen und bestätigen.

Anzeige
AW: Name per VBA in Formel?
25.09.2012 23:16:37
Prevertex
Sry, ich denk ich hab mich total mißverständlich ausgedrückt.
Die erste 3 soll das Suchkriterium sein, also dritte Zeile in der Matrix (CQ81:CS100), die ich vorher als InB2 benannt habe. MISe (von CCS83) ist der String der InB2 in der fertigen Formel ergeben soll.
Das Problem ist nicht, das ich die Formel nicht einmal widerholt immer gleich mit InB2 machen kann, sondern das es jeweils 5 Formeln mit den gleichen Namen als Matrix sind, es aber über 100 unterschiedliche Namen sind (InB2 - InZz) auf der gleichen Anzahl von Blättern.
Wenn ich keinen Weg finde, die Formeln per Makro mit jeweils variierenden Namen automatisch zu schreiben, muß ich manuell die Hundertschaften durchgehen und bestätigen.

Anzeige
Stringverkettung
25.09.2012 23:34:25
{Boris}
Hi,
wie verkettest Du denn Strings in Excel?
Bei "Excel - gut" solltest Du das wissen. Und in VBA ist es nicht anders.
Zudem: Was steht denn in Zelle CS83?
VG, Boris

AW: Stringverkettung
26.09.2012 02:08:15
Prevertex
Hi Boris.
Noch nie habe ich es gewagt Strings in Excel zu verketten, was denkst du denn?
Ob mit der Stringverkettung in VBA eine funktionierende Formel in der Range zu Stande kommen kann,
hätte ich gerne gesehen. Schade daß du dich dazu nicht in der Lage gesehen hast oder einfach nur allgemein mißverstanden hattest. Schlag mal condascending und not very helpful nach.
Ich habe übrigens inzwischen alleine ne Lösung gefunden:
Musterformeln mit Plazthalter, der sich per VBA problemlos jeweils entsprechend ersetzen lässt, was blitzschnell komplett automatisch läuft und zu den gewünschten Endergebnissen führt.

Anzeige
AW: Stringverkettung
26.09.2012 02:17:13
Prevertex
Übrigens condescending mit e fällt mir ein. Patronising paßt ansonsten auch.

AW: Stringverkettung
26.09.2012 03:37:17
hary
Moin
Nur zum Verstaendniss.
Wolltest du es so haben?
Dim MISe As String
MISe = Range("CS83")
ActiveCell.FormulaR1C1 = "=VLOOKUP(3," & MISe & ",3,FALSE)"

gruss hary

AW: Stringverkettung
26.09.2012 14:25:47
Prevertex
Herlichen Dank Harry. Genau das brauchte ich!
Ich weiß nicht wie offensichtlich die Syntax ist, aber auf " und & in der Form wär ich nie gekommen :)

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige