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.

Verzweigte ZÄHLENWENNS-Funktion
#11
Hi,


Zitat:Die letzte Prozedur entfern die Spalte mit dem Wort "Exit", wodurch sich die Funktion nicht mehr anwenden lässt.



glaubst Du, mit VBA lassen sich dann immer noch Zellen mit "Exit" finden?
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#12
1. Ich dachte hier werden keine .xlsm-Dateien verwendet, wegen dem Sicherheitsrisiko
2. Leider kann/ darf ich die Makros nicht posten.

Ist es auch ohne diese möglich?

Ich habe es bereits mit einer If-And-And-Then Anweisunge versucht. Dieser Ansatz wäre aber wohl sehr lang.
Vielleicht gibt es einen eleganteren Ansatz.
Antworten Top
#13
(19.04.2017, 09:58)BoskoBiati schrieb: Hi,





glaubst Du, mit VBA lassen sich dann immer noch Zellen mit "Exit" finden?

Selbstverständlich. Wenn ich die Prozedur (CountIf) vor der letzten Prozedur im Workbook_Open Event setze, sollte dies wohl funktionieren.
Antworten Top
#14
[font=Courier New]Hallo Leute,

ich hoffe ich habe mich nicht falsch verhalten oder falsch reagiert!

Ich bin nun auf folgenden Ansatz gekommen:
Code:
tbl_m.Range("E21") = WorksheetFunction.CountIfs(Sheets("tblOne").Range("G:G"), "<=3", Sheets("tblOne").Range("I:I"), "4", Sheets("tblOne").Range("J:J"), "Exit")
Ich habe den Ansatz mit steve1das erweitert.
Wie kriege ich es nun hin, diesen Code zu erweitern? Also, dass ebenfalls bsplweise. auch I=4 und G=3 und J="Exit" mit gezählt werden?
Geht es vielleicht auch über arrays?
Ich habe folgende definiert:
Code:
   arrMatrix(1, 1) = E21
    arrMatrix(1, 2) = E21
   arrMatrix(1, 3) = E21
   arrMatrix(2, 1) = E21
   arrMatrix(2, 2) = E21
   arrMatrix(3, 1) = E21
   
   arrMatrix(1, 4) = E22
    arrMatrix(1, 5) = E22
   arrMatrix(2, 3) = E22
   arrMatrix(2, 4) = E22
   arrMatrix(3, 2) = E22
   arrMatrix(3, 3) = E22
   arrMatrix(3, 4) = E22
   arrMatrix(4, 1) = E22
   arrMatrix(4, 2) = E22
   arrMatrix(4, 3) = E22
   arrMatrix(5, 1) = E22
   
   arrMatrix(5, 2) = E23
    arrMatrix(5, 3) = E23
    arrMatrix(5, 4) = E23
    arrMatrix(5, 5) = E23
   arrMatrix(4, 4) = E23
   arrMatrix(2, 5) = E23
   arrMatrix(3, 5) = E23
   arrMatrix(4, 5) = E23

Die Werte in de Klammern in Kombination mit dem Wort "Exit" sollten dann in die entsprechende Zeile aufsummiert werden.


Viele Wege führen nach Rom. Ich bin immer an unterschiedlichen Ansätzen interessiert, da ich umso mehr Excel und VBA lerne und verstehe.


Ich freue mich über jeden Beitrag.
Antworten Top
#15
Hallo Josh,

wenn Du die Spalte J, wo jetzt Exit steht, entfernst, wirst Du kein Exit mehr finden, es sei denn In Spalte K stehen auch Exit, die nach dem Löschen ja zur Spalte J wird.

Wenn Deine Formel die Spalte J zählt, funktioniert die Formel nach dem Löschen nicht mehr, du erhälst #BEZUG. Kannst Du ganz einfach ausprobieren. Schreieb in A1 die Formel =J1 und lösche die Spalte J Smile

Nun noch zur Frage. In VBA kannst Du genau so addieren wie in einer Formel. Addiere also mehrere CountIfs...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • joshua
Antworten Top
#16
Hallo

anbei die Musterdatei mit zwei Makro Lösungen zurück.  Das erste Makro erfüllt die gestellte Aufgabe.  Das zweite Makro kann frei programmiert werden nach welchen Kombinationenn man suchen will, durch Eingabe des Suchwertes in drei Zellen. Die Eingabe kann in jede beliebige Spalte verlegt werden.  Dann muss nur im Makro die Adresse für SW1- SW3 geandert werden

mfg  Gast 123


Angehängte Dateien
.xlsm   Muster F.xlsm (Größe: 18,35 KB / Downloads: 1)
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • joshua
Antworten Top
#17
tblOne
(20.04.2017, 20:46)schauan schrieb: Hallo Josh,

wenn Du die Spalte J, wo jetzt Exit steht, entfernst, wirst Du kein Exit mehr finden, es sei denn In Spalte K stehen auch Exit, die nach dem Löschen ja zur Spalte J wird.

Wenn Deine Formel die Spalte J zählt, funktioniert die Formel nach dem Löschen nicht mehr, du erhälst #BEZUG. Kannst Du ganz einfach ausprobieren. Schreieb in A1 die Formel =J1 und lösche die Spalte J Smile

Nun noch zur Frage. In VBA kannst Du genau so addieren wie in einer Formel. Addiere also mehrere CountIfs...

Hallo schauan.

Ich bekomme mit folgendem Code die Fehlermeldung "Index außerhab ..."

Code:
tbl_m.Range("E21") = WorksheetFunction.CountIfs(Sheets("tblOne").Range("G:G"), "<=3", Sheets("tblOne").Range("I:I"), "1", Sheets("tblOne").Range("J:J"), "EXIT") + _
                         WorksheetFunction.CountIfs(Sheets("tblOne").Range("G:G"), "<=2", Sheets("tblOne").Range("I:I"), "2", Sheets("tblOne").Range("J:J"), "EXIT") + _
                         WorksheetFunction.CountIfs(Sheets("tblOne").Range("G:G"), "1", Sheets("tblOne").Range("I:I"), "1", Sheets("tblOne").Range("J:J"), "EXIT")

Wo genau liegt man Fehler hierbei?

Danke gast123 für deinen Ansatz,

ich kann gerade keine Dateien runterladen. Ich schaue mir Deinen Code an, sobald ich kann (:
Antworten Top
#18
=SUMME(ZÄHLENWENNS(G2:G200;1;I2:I200;{2.3};J2:J200;"Exit"))

Achtung: Willst Du mehrere Kriterien ausweiten, dann geht es für alle denkbaren Kombinationen nicht so:

=SUMME(ZÄHLENWENNS(G2:G200;{1.4};I2:I200;{2.3};J2:J200;"Exit")), sondern - bei max. 2 variablen Kriterien - so:

=SUMME(ZÄHLENWENNS(G2:G200;{1.4};I2:I200;{2;3};J2:J200;"Exit")) oder so:
=SUMME(ZÄHLENWENNS(G2:G200;{1.1.4.4};I2:I200;{2.3.2.3};J2:J200;"Exit"))

(bitte Unterschied zw. Punkt und Semikolon beachten)

Mit
=SUMME(ZÄHLENWENNS(G2:G200;{1.1.4};I2:I200;{2.3.2};J2:J200;"Exit"))

kannst Du so dann flexibel den Fall 4...3 ausschließen! - Schweizer nehmen keine Punkte, sondern Backslashes.
Antworten Top


Gehe zu:


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