Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

VBA Formel





Frage

Ihr lieben... ich möchte gerne in einem makro einer Variablen direkt eine Formel zuweisen. also keiner Zelle oder so, sondern direkt einer variablen... bei einer Zelle (A1) muss ich das so machen: Range("A1").FormulaR1C1="=Formel()" wie geht das nu aber, wenn ich es direkt einer variablen zuweisen möchte (die natürlich definiert ist) ich dachte: x=Formel geht aber nicht... kann mir jmd. helfen!? Vielen Dank! MrB

Antwort 1 von coros

Hallo MrB,

so ganz verstehe ich nicht, was Du meinst. Kannst Du mal erklären, was Du Dir als Endresultat vorstellst? Wenn möglich an einem Beispiel, damit klarer wird, was Du möchtest.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von MrB

ok...

also es geht speziell um die formel "Zählenwenn":

im Makro (VBA) funktioniert sie, wenn ich sie so schreibe:

Range("b1"). FormulaR1C1 = "=COUNTIF(C[0]:C[0],""*.xls"")"

in A1 schreibt er dann die Anzahl der Zeilen, die in Spalte A (C[0]) ein ".xls" enthalten.

diese anzahl möchte ich aber sofort einer Variablen zuweisen und NICHT einer Zelle.

war das verständlicher!? ich weiß ist ein bissel konfus... sonst versuche ich es nochmal...

Antwort 3 von Saarbauer

Hallo @MrB,

aller Achtung, wenn schon @coros hier das Handtuch wirft, dann hast du es geschafft. Ich muss mich aber @ coros-Meinung anschliessen, mit deinen Vorgaben ist nichts anzufangen. Bei Besten willen kann ich mir keinen Reim auf
Zitat:
Range("A1").FormulaR1C1="=Formel()"

machen.

Gruß

Helmut

Antwort 4 von MrB

Ergänzung zu meiner ersten Antwort:

... ich meine natürlich in B1 schreibt er das Ergebnis

Antwort 5 von coros

Hi MrB,

mit nachfolgendem Makro sollte Dir geholfen sein.Kopiere es in ein StandardModul und starte es über z.B. eine Schaltfläche.

Option Explicit

Sub Formel()
Dim Formel As Long
Formel = Application.WorksheetFunction.CountIf(Range("B:B"), "*.xls")
MsgBox Formel
End Sub


In der Variablen "Formel" steht das Ergebnis der CountIf- Funktion.

Ich hoffe, Du kommst klar. Bei Fragen melde Dich bitte wieder.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 6 von MrB

@coros:

dicker KUSS!!!! Das wars: Application.WorksheetFunction.CountIf

so fix hier die leute... respekt!

Dim azl As Long

azl = Application.WorksheetFunction.CountIf(Range("A:A"), "*.xls")
MsgBox "Alle Aufträge (jeweils: " & p & " von " & azl & ") ausgeführt für:" & vbCrLf & vbCrLf & wahl11 & vbCrLf & wahl22 & vbCrLf & wahl33 & vbCrLf & wahl44 & vbCrLf & wahl55 & vbCrLf & wahl77 & vbCrLf & wahl88, vbInformation, "Ende - Report"

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: