Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Syntax einer Zellformel
#1
Hallo zusammen,

ich versuche gerade eine Zellformel über eine Abfrage zusammen zu basteln.

Die Syntax der Formel die funktioniert sieht folgendermaßen aus:
ActiveCell.FormulaLocal = "=Personl.XLS!Farbwert(A1)"

Wenn ich jetzt über diverse Abfragen die Zeilen - und Spaltennummer erhalte, tage ich diese in meine Formel so ein:
ActiveCell.FormulaLocal = "=Personl.XLS!Farbwert(col & Nr)"    ......das funktioniert natürlich nicht!

Leider weiß ich nicht wie ich jetzt wieder auf die "A1"-Syntax usw. komme.

Kann mir dabei bitte jemand auf die Sprünge helfen?

Vielen Dank!
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antworten Top
#2
Hallo!
Wenn Du unbedingt bei Deiner .Formula-Schreibweise bleiben möchtest, musst Du den Integer der Spaltennummer wieder in einen String umwandeln.
Wenn es kleine Spaltennummern sind, kann man ja wie ein Grundschüler das ABC durchgehen und per Finger zählen ...  :05:
Aber wer weiß schon, welche Buchstaben die Spalte 11111 hat, nämlich PKI?
Dies macht meine kleine UDF:

Function ColumnAsLetter(Spalte As Integer) As String
ColumnAsLetter = Cells(1, Spalte).Address(0, 0)
ColumnAsLetter = Left(ColumnAsLetter, Len(ColumnAsLetter) - 1)
End Function

Heißt für Dein Beispiel:

Sub HauRein()
Dim col As Integer, Nr As Long
col = 11111
Nr = 9876
ActiveCell.FormulaLocal = "=Personl.XLS!Farbwert(" & ColumnAsLetter(col) & Nr & ")"
End Sub

Ergibt (bei mir natürlich mit Fehler #NAME?, weil ich die Funktion nicht habe):

Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Da momentan die nachträgliche Deaktivierung der Smilies nicht funktioniert, der letzte Code in Code-Tags:
Code:
Sub HauRein()
Dim col As Integer, Nr As Long
col = 11111
Nr = 9876
ActiveCell.FormulaLocal = "=Personl.XLS!Farbwert(" & ColumnAsLetter(col) & Nr & ")"
End Sub
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • sharky51
Antworten Top
#4
Super,

vielen Dank...so funktioniert es.
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antworten Top
#5
Hallo Ralf,

und warum nicht gleich direkt so? Wink

Sub HauRein()
 Dim col As Integer, Nr As Long
 col = 11111
 Nr = 9876
 ActiveCell.FormulaLocal = "=Personl.XLS!Farbwert(" & Cells(Nr, col).Address(0, 0) & ")"
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • sharky51
Antworten Top
#6
Ist ja viel zu einfach, Uwe!  :19:
Hast natürlich Recht! Blush

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#7
Dann wäre.....

Code:
Sub HauRein()
ActiveCell = "=Personl.XLS!Farbwert(" & [address(11111,9876)] & ")"
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • sharky51
Antworten Top
#8
Danke Euch allen...hat mir sehr weiter geholfen.
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste