Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
640to644
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
640to644
640to644
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Summe-Funktion mit VBA

Summe-Funktion mit VBA
26.07.2005 11:09:15
Daniel
Hallo,
eigentlich geht es darum, Funktionen, die man in EXCEL nicht findet, selber einzubinden. So habe ich zum Beispeil eine UND Funktion benötigt. Mein Ergebnis ist nun dieses Makro:
- Aufgerufen wird die Funktion mit =LogicAND(B1:C6)
Public

Function LogicAND(Rin As Range) As Integer         ; Anmerkung1
Dim I As Integer
LogicAND = Rin(1)
For I = 1 To Rin.Count
Rem Debug.Print (Rin(I)); "Rin"; I                        ; Anmerkung2
If Not IsEmpty(Rin(I)) Then                               ; Anmerkung3
LogicAND = LogicAND And Rin(I)
End If
Next I
End Function

Anmerkung1: Mit "Rin as Range" kann ich einen Bereich (als Beispiel A1:C6) auswählen.
Anmerkung2: Hilfreich bei der Entwicklung war auch die Ausgabe auf dem Direktbereich (im Macro-Editor) - hier auskommentiert mit REM.
Anmerkung3: Diese Zeile kam rein, damit in dem Bereich leere Zellen nicht berücksichtigt werden.
So, dies funktioniert jetzt. Ich möchte aber, dass diese Funktion nicht nur mit einem Bereich arbeitet, sondern auch mit verschiedenen Feldern - so wie die SUMME()-Funktion. Hier kann man auch SUMME(A1:B4) oder auch SUMME(A1;B2;C2;C5) oder auch eine Kombination hiervon auswählen. So etwas möchte ich auch - wie muss man das programmieren, das ist meine Frage. ==> also =LogicAND(A1:B3,C4,D4:C6) oder länger!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summe-Funktion mit VBA
26.07.2005 11:13:47
MichaV
Hi,
das kriegst Du mit der Areas- Eigenschaft raus:
Areas-Eigenschaft

Gibt eine Areas-Auflistung zurück, die alle Bereiche in einer Mehrfachmarkierung darstellt. Schreibgeschützt.
Informationen über die Zurückgabe eines einzelnen Elements einer Auflistung finden Sie unter Zurückgeben eines Objekts aus einer Auflistung.
Anmerkungen
Bei einer einfachen Markierung gibt die Areas-Eigenschaft eine Auflistung eines Objekts zurück (das ursprüngliche Range-Objekt selbst). Bei einer Mehrfachmarkierung gibt die Areas-Eigenschaft eine Auflistung zurück, die jeweils ein Objekt für jeden markierten Bereich enthält
Also Rin.Areas(2).Address wäre in Deinem Beispiel C4
Gruss- Micha
PS: Ich hoffe, das gibts schon in XL97
Anzeige
AW: Summe-Funktion mit VBA - nun aber richtig!
26.07.2005 11:56:43
MichaV
Hi,
sorry, das war Quatsch. Hier die Lösung, die Du gesucht hast:


      
Option Explicit
Function LogicAND(ParamArray Rin()) As Integer
Dim I As Integer
Dim X As Integer
Dim xRin As Range
LogicAND = Range(Rin(0).Address)(1)
For X = 0 To UBound(Rin)
  
Set xRin = Range(Rin(X).Address)
  
For I = 1 To xRin.Count
  
'  Debug.Print xRin(I); "Rin"; I

    
If Not IsEmpty(xRin(I)) Then
      LogicAND = LogicAND 
And xRin(I)
    
End If
  
Next I
Next X
Set xRin = Nothing
End Function 


Gruss- Micha
Anzeige
AW: Summe-Funktion mit VBA - nun aber richtig!
27.07.2005 11:39:16
Daniel
Tolles Forum hier! Blitzschnelle Antworten - habe ich so gar nicht erwartet.
Die erste Antwort klang nicht schlecht - war ganz fasziniert, auch wenn ich nichts verstanden habe.
Ich dachte schon, das Forum wäre nur für Cracks.
Aber die zweite Antwort war genau das, was ich wollte.
Deswegen ein dickes Lob an MichaV !
Ach ja, es gibt einige Daniel's hier, aber ich bin ganz neu und habe mit den anderen (noch nichts) zu tun. Werde mich in Zukunft wohl DanielC nennen!
Danke sagt Daniel C.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige