Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Excel-Funktion per VBA mit Hochkomma

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Excel-Funktion per VBA mit Hochkomma (8453 mal gelesen)
Wyndorps
Ehrenmitglied V.I.P. h.c.
Ingenieur



Sehen Sie sich das Profil von Wyndorps an!   Senden Sie eine Private Message an Wyndorps  Schreiben Sie einen Gästebucheintrag für Wyndorps

Beiträge: 4563
Registriert: 21.07.2005

Creo 8.0.1.0
Genius Tools 8.0
Windchill 12.0.2.0

erstellt am: 24. Jul. 2008 15:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Ihr Spezialisten.

Ich möchte per VBA eine Formel in eine Spalte einer Exceltabelle schreiben, bekomme aber die Abfrage Inhalt<>"" nicht hin:

Im nachfolgenden Code ist es die Zuweisung Cells(ii, 49).Formula = aaa auch als Cells(ii, 49).Value = aaa die nicht funktioniert.

Code:

Function rang()
Dim ii, zz As Integer
Dim aaa As String

ii = 1
zz = 0
Do
    ii = ii + 1
    bew = Cells(ii, 1).Value
    zz = zz + 1
Loop Until bew = ""
'############ Ziel
'############ =WENN(AQ2<>"";RANG(AU2;$AU$2:$AU$355;1);"")
For ii = 2 To zz
    aaa = "=WENN(AQ" & ii & "<>" & Chr(34) & Chr(34) & ";RANG(AU" & ii & ";$AU$2:$AU$" & zz & ";1);" & Chr(34) & Chr(34) & ")"

    Cells(ii, 49).Formula = aaa
Next ii

End Function

Danke für die Bemühungen.

------------------
----------------
"Ich stimme mit der Mathematik nicht überein. Ich meine, daß die Summe von Nullen eine gefährliche Zahl ist."  (Stanislaw Jerzy Lec)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

okl
Mitglied
Wirtsch-Ing (Maschbau)


Sehen Sie sich das Profil von okl an!   Senden Sie eine Private Message an okl  Schreiben Sie einen Gästebucheintrag für okl

Beiträge: 157
Registriert: 21.04.2006

3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1300, Delmia V5R16 SP1, Win XP Prof SP2, Office 2003, VS 2005, VB 6

erstellt am: 24. Jul. 2008 15:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Wyndorps 10 Unities + Antwort hilfreich

Moin Wyndorps,

Du brauchst, uzm Funktionen per VBA in eine Zelle zu schreiben, die englischen Bezeichnungen der Funktionen. Also: WENN(; wird zu IF(;

Dann sollte es eigentlich klappen.

Gruß, Ole

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Wyndorps
Ehrenmitglied V.I.P. h.c.
Ingenieur



Sehen Sie sich das Profil von Wyndorps an!   Senden Sie eine Private Message an Wyndorps  Schreiben Sie einen Gästebucheintrag für Wyndorps

Beiträge: 4563
Registriert: 21.07.2005

erstellt am: 24. Jul. 2008 16:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Ole,

danke für den Tip, aber das ist es leider nicht.
Es muss irgendwie mit der Art zu tun haben, wie ich versuche die als String zusammengebastelte Formel in die Zelle zu übertragen.


------------------
----------------
"Ich stimme mit der Mathematik nicht überein. Ich meine, daß die Summe von Nullen eine gefährliche Zahl ist."  (Stanislaw Jerzy Lec)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

okl
Mitglied
Wirtsch-Ing (Maschbau)


Sehen Sie sich das Profil von okl an!   Senden Sie eine Private Message an okl  Schreiben Sie einen Gästebucheintrag für okl

Beiträge: 157
Registriert: 21.04.2006

3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1300, Delmia V5R16 SP1, Win XP Prof SP2, Office 2003, VS 2005, VB 6

erstellt am: 24. Jul. 2008 16:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Wyndorps 10 Unities + Antwort hilfreich

Hab mal den String wirkllich in kleine Abschnitte unterteilt. Der Finzt bei mir sehr gut.

Code:
Dim strFormel As String
    strFormel = "=IF("
    strFormel = strFormel & "AQ"
    strFormel = strFormel & ii
    strFormel = strFormel & "<>"""""
    strFormel = strFormel & ","
    strFormel = strFormel & "RANK("
    strFormel = strFormel & "AU"
    strFormel = strFormel & ii
    strFormel = strFormel & ","             
    strFormel = strFormel & "$AU$2:$AU$"
    strFormel = strFormel & ","            [EDIT: die Zeile muss raus!!! Bin zu d** zum kopieren...]
    strFormel = strFormel & zz
    strFormel = strFormel & ","
    strFormel = strFormel & 1
    strFormel = strFormel & ")"
    strFormel = strFormel & """"
    strFormel = strFormel & ")"

Gruß

[Diese Nachricht wurde von okl am 24. Jul. 2008 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 24. Jul. 2008 16:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Wyndorps 10 Unities + Antwort hilfreich

Hi-Ho,
wahrscheinlich stolperst Du über die Anführungsstriche, die müssen im VBA geschachtelt werden, weil er die sonst nicht richtig interpretiert. und evtl. über FormulaLocal

Mal ein Beispiel, ich habe Deins jetzt nicht getestet:

Code:
Sub test()
Dim strFormel$

strFormel = "=Wenn(A1<>0;""1"";""0"")"

Sheets(1).Cells(1, 2).FormulaLocal = strFormel

End Sub


Versuch mal, ob Dir das schon hilft, wenn nicht meld Dich noch mal.

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info     Excel -Suche    RuA-Suche     FAQ-ACAD     Hilfe zu CAD.de 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

okl
Mitglied
Wirtsch-Ing (Maschbau)


Sehen Sie sich das Profil von okl an!   Senden Sie eine Private Message an okl  Schreiben Sie einen Gästebucheintrag für okl

Beiträge: 157
Registriert: 21.04.2006

3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1300, Delmia V5R16 SP1, Win XP Prof SP2, Office 2003, VS 2005, VB 6

erstellt am: 24. Jul. 2008 16:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Wyndorps 10 Unities + Antwort hilfreich

Übrigens:

Code:
Dim ii, zz As Integer

definiert ii asls Variant und nur zz als Integer. Das kann mancvhmal zu Problemen führen.

Code:
Dim ii As Integer, zz As Integer

schreibt es richtig in eine Zeile.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

okl
Mitglied
Wirtsch-Ing (Maschbau)


Sehen Sie sich das Profil von okl an!   Senden Sie eine Private Message an okl  Schreiben Sie einen Gästebucheintrag für okl

Beiträge: 157
Registriert: 21.04.2006

3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1300, Delmia V5R16 SP1, Win XP Prof SP2, Office 2003, VS 2005, VB 6

erstellt am: 24. Jul. 2008 16:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Wyndorps 10 Unities + Antwort hilfreich

Über FormulaLocal kannst Du bbei deutschem Excel deutsche Formeln eingeben??

Muss ich später mal probieren.

Grüße

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



Sehen Sie sich das Profil von wronzky an!   Senden Sie eine Private Message an wronzky  Schreiben Sie einen Gästebucheintrag für wronzky

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2013
ADT 2005 bis 2013
Arcibem
System:
Windows NT, 2000, XP
Internet-Startseite:
http://www.archi.de

erstellt am: 24. Jul. 2008 16:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Wyndorps 10 Unities + Antwort hilfreich

Hi,
Zitat:
...die englischen Bezeichnungen der Funktionen...
Nicht nur der Funktionen, sondern auch die Schreibweise:
IF(A1="",0,1)
Beachte: Komma statt Semikolon

Grüsse, Henning

------------------
Henning Jesse
VoxelManufaktur
Computer-Dienstleistungen für Architekten und Ingenieure

  http://www.voxelman.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Wyndorps
Ehrenmitglied V.I.P. h.c.
Ingenieur



Sehen Sie sich das Profil von Wyndorps an!   Senden Sie eine Private Message an Wyndorps  Schreiben Sie einen Gästebucheintrag für Wyndorps

Beiträge: 4563
Registriert: 21.07.2005

erstellt am: 24. Jul. 2008 16:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Das "FormulaLocal" war's.

Ihr seid super!
Dank Ü well!

------------------
----------------
"Ich stimme mit der Mathematik nicht überein. Ich meine, daß die Summe von Nullen eine gefährliche Zahl ist."  (Stanislaw Jerzy Lec)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 24. Jul. 2008 17:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Wyndorps 10 Unities + Antwort hilfreich

IMHOIn my humble oppinion (Meiner Meinung nach)
deutsche Begriffe und in Formeln Semikolon durch Komma austauschen.
Kurze Makroaufzeichnung der Zelle hilft wie XL die Formel in den Code schreibt;-)

aaa = "=IF(AQ" & ii & "<>" & Chr(34) & Chr(34) & ",RANK(AU" & ii & ",$AU$2:$AU$" & zz & ",1)," & Chr(34) & Chr(34) & ")"

wie schon wronzky  & okl bemerkten.

@Rübe, FormulaLocal kannte ich auch noch nicht 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz