Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA x. Potenz aus 2

Forumthread: VBA x. Potenz aus 2

VBA x. Potenz aus 2
16.09.2024 09:38:10
Joschi Witchcraft
Hallo Forum.

Ich verarbeite Daten, die als "Kennung" einen Wert einer 2-Potenz haben (1,2,4,8 usw)

Wie kann ich z. B. aus dem Wert "256" ohne Loop ermitteln, dass dies die 8. Potenz von 2 ist????

Meine Loop-Lösung:
Sub PTest()
Dim W As Long
Dim P As Long
W = 2 ^ 8
Do While W > 1
W = Int(W / 2)
P = P + 1
Loop
Debug.Print P
End Sub

Gruß Joschi
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA x. Potenz aus 2
16.09.2024 09:56:09
Fennek
Hallo,

als Ansatz:

Javascript: Math.log2(256) // ergibt 8

ergibt 8, also allgemeiner: wenn der Logarithmus zur Basis 2 eine ganze Zahl ist, dann ...


Es sollte auch in Excel/VBA gehen


mfg
WorksheetFunction.Log(256, 2) owT
16.09.2024 10:01:18
Yal
AW: WorksheetFunction.Log(256, 2) owT
16.09.2024 10:24:24
Joschi Witchcraft
Hallo Uwe, Fennek und Yal.

Vielen Dank für Eure Antworten.

VBA ja, weil das ein Teil einer VBA-Anwendung werden soll. Die Daten sind so nicht in einem Tabellenblatt enthalten.

Die WorksheetFunction.Log kannte ich bisher nicht.

Log(256, 2) liefert den richtigen Wert "8".

Und in Verbindung mit INT() liefert Log(255,2) den Wert 7. Das öffnet mir neue Möglichkeiten.

SUPER!! Problem gelöst.

Gruß Joschi
Anzeige
AW: VBA x. Potenz aus 2
16.09.2024 10:02:39
Alwin Weisangler
Hallo Joschi,

schon mal die Funktion =LOG(Zelle;Basiswert) verwendet. Da braucht man kein VBA zu bemühen.
Sollte es mir aller Gewalt VBA sein, wäre der bequeme Weg über WorksheetFunction.Log()

Gruß Uwe
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige