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

Abfrage über mehrere Spalten, per VBA

Abfrage über mehrere Spalten, per VBA
Sascha
Hi Leute!
Habe wiedermal ein Problem. Ich möchte in einer Tabelle auf mehreren Blättern Abfragen in folgender Art einrichten: In wievielen Zellen des Bereiches D11:H46 steht ein Wert in der Zelle D11 & G11 & H11 oder in wieviel Zellen ein Wert in D12 & H12 usw. Ich habe mal eine Tabelle hochgeladen, zum besseren Verständnis. Diese Abfragen sollen aber nur für die Spalten stattfinden, deren Wert in Zelle1 (also in meinem Fall "Modul1", "Modul2") nicht leer oder "0" ist. Manchmal steht nämlich in der 1. Zelle nichts und die Spalte ist dann sogar ausgeblendet.
https://www.herber.de/bbs/user/4847.xls
Danke für die Hilfe!
mfg, Sascha

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Abfrage über mehrere Spalten, per VBA
Worti
Hallo Sascha,
versuch es mal hiermit:


Sub Zähle()
     
    Dim intI As Integer
    Dim intJ As Integer
    Dim intAnzahlModul As Integer
    Dim intAnzahlModulZusatz1 As Integer
    Dim intAnzahlModulZusatz2 As Integer
    Dim intAnzahlModulZusatz12 As Integer
    
    
    For intJ = 4 To 6
    
        intAnzahlModul = 0
        intAnzahlModulZusatz1 = 0
        intAnzahlModulZusatz2 = 0
        intAnzahlModulZusatz12 = 0
         
        For intI = 11 To 46
            If Cells(intI, intJ).Value = "x" And Cells(intI, 7).Value = "x" And Cells(intI, 8).Value = "x" Then
               intAnzahlModulZusatz12 = intAnzahlModulZusatz12 + 1
            Else
               If Cells(intI, intJ).Value = "x" And Cells(intI, 7).Value = "x" Then
                  intAnzahlModulZusatz1 = intAnzahlModulZusatz1 + 1
               Else
                  If Cells(intI, intJ).Value = "x" And Cells(intI, 8).Value = "x" Then
                     intAnzahlModulZusatz2 = intAnzahlModulZusatz2 + 1
                  Else
                     If Cells(intI, intJ).Value = "x" Then
                        intAnzahlModul = intAnzahlModul + 1
                     End If
                  End If
               End If
            End If
        Next intI
        
        Select Case intJ
               Case 4
                    intI = 50
               Case 5
                    intI = 56
               Case 6
                    intI = 62
        End Select
             
        'Hier muß du statt der 7 eine 8 reinschreiben, hab es nur mit 7 getestet
        Cells(intI, 7).Value = intAnzahlModul
        Cells(intI + 1, 7).Value = intAnzahlModulZusatz1
        Cells(intI + 2, 7).Value = intAnzahlModulZusatz12
        Cells(intI + 3, 7).Value = intAnzahlModulZusatz2
         
    Next intJ      
Anzeige
AW: Abfrage über mehrere Spalten, per VBA
Sascha
Hi Worti!
Danke für deine Antwort, leider habe ich vom VBA gar keine Ahnung und weis deswegen nicht, warum es bei mir nicht geht.
1. Wo muss ich den VBA - Code einfügen, habe ihn jetzt in Tabelle2(Blatt_1), dass stimmt wohl so.
2. Vieleicht habe ich das Problem auch falsch erklärt: Die Zellen "A50:A53" & "A56:A59" & "A62:A65" sollen ihren Inhalt aus den Zellen "D1:H1" holen, habe ich per (=Verketten(....)) gemacht. Das heist im Klartext, dort steht nicht immer Modul1 usw.
3. Die Abfrage soll auch nur für Spalten im Bereich "D1:H1" gelten, die einen Wert haben, manchmal steht nur in "D1" & "H1" ein Wert, die restlichen Spalten sind dann ausgeblendet.
4. Die Abfrage kann eigentlich nur über die Zellen "U11:Y46" funktionieren, weil ja dort die Eingabe im Bereich "D11:H46" gezählt wird (über =Wenn(...)).
5. Die Ausgabe der Werte soll in "H50:H53" & "H56:H59" & "H62:H65" erfolgen.
Ich hoffe es ist nicht zu viel Mühe!
Danke, Sascha
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige