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

Anführungszeichen in Formel notwendig

Anführungszeichen in Formel notwendig
Rene
Hallo Zusammen
Ich habe eine Formel, die ich so einsetzen muss:
=bpContent("Grob, Rene";"_phone")~f~ --> Im Hintergrund läuft dann via ein Add-In eine DB-Abfrage und in der entsprechenden Zelle wird mir dann die "phonenummer" reingeschrieben.
Ich möchte nun mit dieser Formel eine Art "Adressbuch" machen:
Name Vorname Phone Mail etc.
Meier Rene ~f~=bpContent("Meier, Rene";"_phone") =bpContent("Meier, Rene";"_eMail")~f~
Muster Hans
Wie kann ich nun meine ~f~=bpContent... Formel so anpassen, dass "Meier, Rene" aus den Zellen A2&B2 generiert wird inkl. den Anführungszeichen und ich dann die Formel nur noch runterkopieren muss?
Danke & Gruss
Rene
AW: Anführungszeichen in Formel notwendig
15.12.2009 10:44:33
{Boris}
Hi Rene,
die "" charakterisieren doch nur einen String?!
=bpContent(A2&", "&B2;"_phone")
Grüße Boris
AW: Anführungszeichen in Formel notwendig
15.12.2009 10:49:27
Rene
Hi Boris
Ja. Aber "leider" funktioniert die Abfrage nicht, wenn in der Zelle steht:
=bpContent(Meier, Rene;"_phone")
<br>
Die Abfrage funktioniert nur so:
=bpContent("Meier, Rene";"_phone")
Und aus diesem Grund müssen Anfürhungszeichen gesetzt werden, befürchte ich...
Gruss
Rene
AW: Anführungszeichen in Formel notwendig
15.12.2009 10:55:53
{Boris}
Hi Rene,
wie auch immer:
=bpContent(""""&A2&", "&B2&"""";"_phone")
Grüße Boris
oder so...
15.12.2009 10:59:50
Luschi
Hallo Rene,
so sollte es auch klappen: bpContent(ZEICHEN(34)&A1&", "&ZEICHEN(34);"_phone")
Gruß von Luschi
aus klein-Paris
Anzeige
...und bei _phone genauso! Gruß owT
15.12.2009 18:06:13
Luc:-?
:-?
AW: Anführungszeichen in Formel notwendig
15.12.2009 10:47:00
Tino
Hallo,
so müsste es gehen
=bpContent(A1&", "&B1;"_phone")
In A1 steht Meier und in B1 Rene.
Die Anführungszeichen brauchst Du nicht, weil dies schon ein String ist.
Gruß Tino
AW: Anführungszeichen in Formel notwendig
15.12.2009 10:52:30
Rene
Hi Tino
Eben ist dem leider nicht so... Wird Meier, Rene nicht mit "" geschrieben, kommt kein Wert zurück...
Gruss Rene
siehe Boris, ich kann es mir nicht vorstellen oT.
15.12.2009 11:00:19
Tino
Lies mal genauer bzw zwischen den Zeilen,...
15.12.2009 18:17:04
Luc:-?
...Tino!
Der so erzeugte Zellinhalt wird wohl anderweitig weiterverarbeitet und dann ist die String-Markierung sicher erforderlich, damit das dann nicht als Name interpretiert wird...
René kann's wohl nur nicht so gut erklären, aber damit ist er ja nicht allein... ;-)
Gruß Luc :-?
Anzeige
wenn Du meinst
15.12.2009 18:37:58
Tino
Hallo,
Die Hauptsache ist Rene hat eine Lösung bekommen, aber davon schreibt er auch nichts.
Ich bin fest davon überzeugt, dass =A1&", "&B1 genau das gleiche ist wie ="Meier, Rene",
wenn in A1 Meier und in B1 Rene steht.
Gruß Tino
Aber nicht, wenn das von einer Subroutine...
15.12.2009 18:42:36
einer
...in eine generierte Subroutine 1:1 übertragen wird, Tino!
Wirste spätestens dann merken, wenn du deinen 1.ProcGenerator schreibst...
Gruß Luc :-?
Ich schreib jetzt weiter an meinem... ;-)
kannst Du ein kleines Beispiel zeigen?
15.12.2009 19:05:26
Tino
Hallo,
ich kann es gedanklich nicht nachvollziehen.
Wenn ich eine Funktion habe die einen String haben will.
z. Bsp.
Function EinTest(strString$)
If InStr(strString, ", ") > 0 Then
MsgBox Split(strString, ", ")(0) & vbCr & Split(strString, ", ")(1)
Else
MsgBox "Trennzeichen ', ' nicht gefunden"
End If
End Function
Ist es der doch egal ob ich
=EinTest(A1&", "&B1)
oder
=EinTest("Meier, Rene")
schreibe, weil es ja das gleiche ist.
Gruß Tino
Anzeige
Später, vom Office-PC aus... ;-) Gruß owT
16.12.2009 05:36:20
Luc:-?
:-?
ok. bis später oT.
16.12.2009 09:58:42
Tino
So, dann mal los! Viell wird's dann klarer,...
16.12.2009 13:25:07
Luc:-?
...Tino!
Du weißt ja, dass sowohl die XLM-Fkt AUSWERTEN als auch die vbFkt Evaluate die Angabe der ganzen Fml als String verlangen. Enthält diese ebenfalls Strings müssen diese in verdoppelte An-/Ausführungszeichen gesetzt wdn. Auch, wenn ein analoges Konstrukt als Bestandteil einer automatisch generierten Prozedur direkt geschrieben wird, muss das so sein. Und um irgendetwas in dieser Art scheint es hier zu gehen. Irgendein (? Fremd-)Pgm benötigt die Angabe in genau dieser Form, sonst fkt es nicht. Der Anfang des gezeigten Wertes scheint darauf hinzudeuten — sieht wie 'ne (? ud/Fremd-)Fkt aus. Was die dann mit diesen Texten, die eigentl Namen sein könnten macht, weiß keiner. In VBA-generierten Fmln würde man hier Namen verwenden und dann wären die zusätzl String-Marker tatsächlich überflüssig. Allerdings würde das auch in VBA Sinn machen, wenn es Namen wären, die von einer generierten Prozedur verwendet wdn. Dann wäre die Schreibweise nämlich Range("namexyz") — schon benötigt man zusätzl String-Marker! Das adaptierende (? VBA-/Fremd-)Pgm scheint das nicht automatisch zu machen wie es bspw im Folgd der Fall ist...
Function XFunc()                'maxZlLänge noch nicht berücksichtigt!
Rem XFuncGen:XInStr-Platzhalter XFunc-Operation
End Function
Function varFkt(ByVal XFktN As String, xArg, ParamArray XArgg())
Rem --- DummyX-FctProc created by CyWorXxl:FXss.XFuncGen on 16.12.09 ---
'   Achtung - xArg nur b.Bedarf - XFktN-Argg unter XArgg eintragen!
'   B.Fktseinsatz in VBA b.Nichtbedarf f.xArg Null übergeben!
Const xModN As String = "cxModul"       'hier StdOrt-Modul von XFunc einsetzen!
Dim cp As VBComponent, psl As Long, xa As Variant, xf As String, mmf As Boolean, ac As  _
Range
On Error Resume Next
With Application
If IsError(.Caller) Then Set ac = ActiveCell Else Set ac = .Caller.Cells(1)
mmf = ac.HasArray And ac.Cells.Count > 1
End With
If Not IsMissing(xArg) And Not IsError(xArg) And Not IsNull(xArg) Then
If Not mmf Then
If Left(xArg, 1) = "(" Then xf = "(": xArg = Mid(xArg, 2)
Else: xArg = ""
End If
End If
If Left(XFktN, 1) = "." Then
xf = vbTab & "XFunc = " & xf & "WorksheetFunction" & XFktN & "("
ElseIf Left(XFktN, 1) = ":" Then
xf = vbTab & "XFunc = " & xf & "Evaluate(""" & Mid(XFktN, 2) & "("
'    ElseIf VBAdapter(XFktN) Then
'        xf = vbTab & "XFunc = " & xf & "VBAdapter(""" & XFktN & """, "
Else: xf = vbTab & "XFunc = " & xf & XFktN & "("
End If
With WorksheetFunction
For Each xa In XArgg
If IsMissing(xa) Then
xa = ""
ElseIf IsNull(xa) Then
xa = "Null"
ElseIf IsEmpty(xa) Then
xa = "Empty"
ElseIf IsError(xa) Then
If CInt(xa) = 2000 Or CInt(xa) = 2042 Then _
xa = "Null" Else xa = "CVErr(" & CInt(xa) & ")"
ElseIf IsArray(xa) Then
Exit Function   'damit es auch bei dir fktioniert!
'                xa = VBAdapter("RinMxList", xa, -2)
'                xa = Replace(Replace(xa, "{", "Array("), "}", ")")
ElseIf .IsText(xa) Then
xa = """" & xa & """"
Else: xa = Replace(Trim(CStr(xa)), ",", ".")
End If
xf = xf & xa & ","
Next xa
End With
xf = Left(xf, Len(xf) - 1) & ")"
If Not IsMissing(xArg) Then
If Not IsError(xArg) Then
If IsNumeric(Mid(xArg, 3)) Then xArg = Replace(xArg, ",", ".")
xf = xf & xArg
End If
End If
For Each cp In ActiveWorkbook.VBProject.VBComponents
If cp.Name = xModN Then
With cp.CodeModule
psl = .ProcStartLine("XFunc", vbext_pk_Proc)
While Left(.Lines(psl, 1), 8)  "Function": psl = psl + 1: Wend
.ReplaceLine psl + 1, xf
xArg = XFunc()
.ReplaceLine psl + 1, vbTab & "Rem XFuncGen:varFkt-Platzhalter XFunc-Operation"
End With
Exit For
End If
Next cp
varFkt = xArg
End Function

Wenn du das mal ausprobieren willst, ist zu beachten, dass XFunc quasi als eine Art Register für alle Einsätze solcher Fktt dient. Bei Mehrfacheinsatz der generierten Universal-udF varFkt im Blatt muss deshalb der manuelle Berechnungsmodus gewählt wdn (sonst wird's katastrophal!). Übrigens kannst du damit auch jede vbFkt auswerten — alles Andere wird sich dir aus dem FktKörper erklären... ;-)
Viel Spaß! Gruß Luc :-?
Anzeige
Mir geht jetzt ein Licht auf, hoffe ich ;-)
16.12.2009 14:02:08
Tino
Hallo,
Du meinst also das seine Funktion die Formel als ganzes verarbeitet und nicht die einzelnen Variablen.
Gruß Tino
Ja, das scheint ganz so auszusehen,...
16.12.2009 15:00:21
Luc:-?
...Tino;
da kommt man drauf, wenn man sich selbst mit so etwas beschäftigt, so wie ich gerade... ;-)
Gruß Luc :-)

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige