Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1448to1452
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
Inhaltsverzeichnis

Teilergebnis

Teilergebnis
12.10.2015 18:48:41
Rainer
Hallo,
Teilergenis wird doch verwendet, wenn ich das Ergebnis nur über die angezeigten Spalten haben möchte.
Kann es sein, dass bei aktivem Blattschutz das nicht funkioniert?
Beispiel:
=WENN(TEILERGEBNIS(103;I87:EN87)>1;"x";"")
Wobei es das nicht sein kann, da das Ausblenden mittels VBA-Code erfolgt und dafür der Blattschutz am Anfang des Codes aufgehoben wird.
Gruß Rainer

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teilergebnis
12.10.2015 21:27:26
fcs
Hallo Rainer,
Die Funktion Teilergebnis bezieht sich auf sichtbare/ nicht ausgeblendete Zeilen, wenn Funktion 101 bis 111 gewählt werden.
Bei den Spalten spielt es keine Rolle ob ein- oder ausgeblendet sind.
Gruß
Franz

AW: Teilergebnis
12.10.2015 21:37:47
Rainer
Hallo Franz,
hatte sowas in Erinnerung und dennoch, in irgendeiner Tabelle hatte ich da schon einmal das selbe Problem.
Gibt es einen Ansatz mit VBA?
Muss letztlich nur wissen, ob Text enthalten ist oder nicht.
Das "x" steuert mir lediglich eine Infozeile, welche dann leider auch bei leeren Zellen eingeblendet wird.
Gruß Rainer

Anzeige
AW: Teilergebnis
12.10.2015 21:45:13
Rainer
Hallo Franz,
der Vollständigkeit halber, das "Ein/Ausblenden" wir so gelöst:
  Set objShp = Me.Shapes(Application.Caller)
With objShp
If Tabelle1.Cells(Range(.DrawingObject.LinkedCell).Row + 1, Range(.DrawingObject.LinkedCell) _
.Column + 1) = "x" Then
Me.Range(.DrawingObject.LinkedCell).Offset(1, 0).EntireRow.Hidden = .DrawingObject.Value  1
Else
Me.Range(.DrawingObject.LinkedCell).Offset(1, 0).EntireRow.Hidden = False
End If
End With
Set objShp = Nothing
Quelle: https://www.herber.de/forum/archiv/1448to1452/t1448336.htm
Gruß Rainer

Anzeige
AW: Teilergebnis
12.10.2015 21:57:09
Rainer
Hallo Franz,
müsste das nicht auch so gehen?

i=0
For s = 18 To iColL
If Columns(s).EntireColumn.Hidden = False Then
If cells(s, iCol).value ="" then next
else
i= i + 1
end if
End If
Next
If i>0 ...

Muss gleich Schluss machen und kann es nicht mehr testen, aber meine doch so ans Ziel zu kommen.
Gruß Rainer

AW: Teilergebnis
13.10.2015 08:28:54
fcs
Hallo Reiner,
ja ungefähr.
Als benutzerdefinierte Definierte Tabellenfunktion umgesetzt, kann es wie folgt aussehen.
Bei Aufruf von einem Makro aus kannst du den Parameter Dummy weglassen.
Gruß
Franz
Public Function fncAnzahl2_Sichtbar_Spa(Bereich As Range, Optional Dummy)
'wertet Zellen bei ein-/ausgeblendete Spalten aus, _
Dummy = Funktion, die bei Neuberechnung ausgewertet wird, z.B. JETZT()
'Formel-Beispiel: =fncAnzahl2_Sichtbar_Spa(Q65:AC65;JETZT())
Dim lngAnzahl2 As Long
Dim Zelle As Range
For Each Zelle In Bereich.Cells
If Zelle.EntireColumn.Hidden = False Then
If Not IsEmpty(Zelle) Then
lngAnzahl2 = lngAnzahl2 + 1
End If
End If
Next
fncAnzahl2_Sichtbar_Spa = lngAnzahl2
End Function

Anzeige
AW: Teilergebnis
13.10.2015 17:08:24
Rainer
Hallo Franz,
hatte heute morgen noch, bevor ich Deine Nachricht gelesen hatte wie folgt umgesetzt:
  Dim objShp As Object, i As Integer, iRow As Integer, iCol As Integer
Set objShp = Me.Shapes(Application.Caller)
With objShp
i = 0
'Prüfen ob Inhalte vorhanden
For iCol = 18 To 144
If Columns(iCol).EntireColumn.Hidden = False Then
If ActiveSheet.Cells(Range(.DrawingObject.LinkedCell).Row + 1, iCol).Value > "" Then i = _
i + 1
End If
iCol = iCol + 1 'nur jede zweite Spalte durchgehen
Next
'Alt: Zeile einblenden wenn in nachfolgender Zeile in Spalte H = x
'If ActiveSheet.Cells(Range(.DrawingObject.LinkedCell).Row + 1, Range(.DrawingObject. _
LinkedCell).Column + 1) = "x" Then
'Neu:
If i = 0 Then Exit Sub
If i > 0 Then
Me.Range(.DrawingObject.LinkedCell).Offset(1, 0).EntireRow.Hidden = .DrawingObject.Value  1
Else
Me.Range(.DrawingObject.LinkedCell).Offset(1, 0).EntireRow.Hidden = False
End If
End With
Set objShp = Nothing

Dennoch vielen Dank für Deine Mithilfe
Gruß Rainer
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige