Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
708to712
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
708to712
708to712
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formel / Code – Ergänzung - @Matthias G ?

Formel / Code – Ergänzung - @Matthias G ?
22.12.2005 14:03:48
Baro
Hallo Ihr freundlichen Helfer,
gesucht wird eine Ergänzungs-Formel für Excel die folgendes Problem löst:
Noch eine Ergänzungsfrage zu diesem Thread
11.12.2005 01:32:17 Baro - Zähle Anzahl der “+“ wenn vorher x,y,z mal “–“ t707198.htm
Das Ergebnis bzw. der Code von Matthias ist perfekt und funktioniert. Nochmals besten Dank!
Diese Abfrage soll auch so beibehalten werden!
Zusätzlich möchte ich jetzt noch zwei differenzierte Abfragen (Teilmengen) durchführen.
-------------------------------KOPIE---------------------------------------
Folgenden Code ins rechts erschienene Codefenster kopieren:

Function APlus(AnzMinus As Integer, Bereich As Range) As Long
Dim plus As Integer
Dim minus As Integer
Dim x As String
Dim z As Range
For Each z In Bereich
x = z.Value
If x = "-" Then
minus = minus + 1
ElseIf x = "+" Then
If minus = AnzMinus Then plus = plus + 1
minus = 0
End If
Next z
APlus = plus
End Function

Jetzt VB-Editor wieder schießen.
Nun kannst du die benutzerdefinierte Funktion einfach in einer Zelle verwenden:
=APlus(1;E21:E100)
Gruß Matthias
-------------------------------KOPIE-ENDE--------------------------------------
Mit dieser Formel [=APlus(1;E21:E100)] werden die unterschiedlichen “+“ Folgen in Beispielspalte “E“ abgefragt.
Die abgefragten “+“ beziehen sich u.a. auf a l l e Angaben in der Beispielspalte “D“.
In der Beispielspalte “D“ stehen in den Zellen Buchstaben (M, R, T) und Buchstaben-Zahlenkombinationen (K1,2 oder S4,5)
und Leerzellen.
So ergeben sich in Spalte “D“ zwei Gruppen
- 1x nur Groß-Buchstaben (6 verschiedene Stück)
- 1x Buchstaben-Zahlenkombinationen (ebenfalls 6 verschiedene Stück)
Dies nur zur Erklärung. Die beiden Gruppen sollen nun zusätzlich separat abgefragt werden.
1. Aufgabe:
[=APlus(1;E21:E100)] wenn in Spalte D2:D100 M oder R oder T
2. Aufgabe:
[=APlus(1;E21:E100)] wenn in Spalte D2:D100 K1,2 oder K4,5
Trotz vieler Versuche kann ich die Aufgabe nicht lösen.
Wenn eine VBA-Lösung in Frage kommt, bitte wie Matthias formulieren – für mich Anfänger – Danke!
Für Eure Gedanken und Bemühungen
vielen Dank im Voraus
Baro

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

Betreff
Datum
Anwender
Anzeige
Einfacher formuliert ?
23.12.2005 15:35:53
Baro
https://www.herber.de/forum/archiv/708to712/t711979.htm
--------------------------------------------------------------------------------------
Einfacher formuliert?
Wie verbinde oder integriere ich
Den VBA Code =APlus(1;E21:E100)
aus:
----------------------------------------------------------------

Function APlus(AnzMinus As Integer, Bereich As Range) As Long
Dim plus As Integer
Dim minus As Integer
Dim x As String
Dim z As Range
For Each z In Bereich
x = z.Value
If x = "-" Then
minus = minus + 1
ElseIf x = "+" Then
If minus = AnzMinus Then plus = plus + 1
minus = 0
End If
Next z
APlus = plus
End Function

----------------------------------------------------------------
mit der Zusatzabzfrage:
nur WENN in Spalte “D“ ein M oder R oder T steht
(D2:D699={"M"."R"."T"})
Für Eure Gedanken und Bemühungen
vielen Dank im Voraus
Baro
Anzeige
AW: Einfacher formuliert ?
24.12.2005 03:06:22
Reinhard
Hi Baro,
meinst du so:
'Wie verbinde oder integriere ich
'Den VBA Code =APlus(1;E21:E100)
'aus:
Function APlus(AnzMinus As Integer, Bereich As Range) As Long
Dim plus As Integer
Dim minus As Integer
Dim x As String
Dim z As Range
For Each z In Bereich
x = z.Value
If InStr("MRT", z.Offset(0, -1)) > 0 Then
If x = "-" Then
minus = minus + 1
ElseIf x = "+" Then
If minus = AnzMinus Then plus = plus + 1
minus = 0
End If
End If
Next z
APlus = plus
End Function
'mit der Zusatzabzfrage:
'nur WENN in Spalte “D“ ein M oder R oder T steht
'(D2:D699={"M"."R"."T"})

Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.
Anzeige
AW: Einfacher formuliert ?
24.12.2005 08:49:39
Baro
https://www.herber.de/forum/archiv/704to708/t707198.htm
---------------------------------------------------------------------------------------
Hallo Reinhard,
so war es leider nicht gemeint.
Deine Ergänzung zählt den Abstand der “MRT“ voneinander wenn in Spalte E ein “+“ steht.
Das ist nicht gewollt.
Es soll weiterhin der Abstand der “+“ gezählt werden (wie bisher) aber nur wenn gleichzeitig “MRT“ in Spalte D steht!
Außerdem soll die bisherige, erste (übergeordnete) Abfrage erhalten bleiben.
Dies ist mit dem Code so nicht möglich.
Ich bräuchte dafür eine weitere benutzerdefinierte Funktion. (Sonnst - Mehrdeutiger Name: APlus)
Danke und schöne Festtage
Baro
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige