Das Archiv des Excel-Forums

Fehlersuch Objekt erforderlich

Bild

Betrifft: Fehlersuch Objekt erforderlich
von: Jan Bro

Geschrieben am: 14.10.2003 16:11:41

Ich habe jetzt mehrere Versuche gestartet komme aber zu keinem Ergebnis,
ich bekomme ständig objekt erforderlich, wo liegt da der Fehler?

Ende = Range("A7").End(xlUp).Row
target = Range("A7:N" & Ende)
Application.Run FindeHidden(target)
[...]
______________________________________________________________________________

Function FindeHidden(target) As Double
Application.Volatile
Dim rng As Range
For Each rng In target.Rows
If Not (rng.Hidden) Then
End If
Next
End Function

Bild


Betrifft: AW: Fehlersuch Objekt erforderlich
von: ChrisL
Geschrieben am: 14.10.2003 16:39:47

Hi Jan

Weiss nicht ob ich jetzt hilfreich bin, aber mal ein paar Hinweise.

Target würde ich nicht als Variable verwenden, da dies m.E. ein geschützter Begriff ist (wird für Worksheet_Change etc. verwendet). Nenne die Variable anders.

Was du im Moment als Target benennst müsstest du m.E. ebenfalls (als Range) deklarieren.

Application.Run ist in diesem Fall vermutlich nicht richtig. Wenn es wirklich eine Funktion seien soll, dann kannst du den Wert aus der Funktion direkt abholen... z.B.
MsgBox FindeHidden(ttarget) gibt dir dann direkt den Wert aus.

Was soll die Funktion denn überhaupt machen? Die versteckten Zellen zählen?

Gruss
Chris


Bild


Betrifft: AW: Fehlersuch Objekt erforderlich
von: jan bro
Geschrieben am: 14.10.2003 16:49:53

Danke für die Hinweise,
Ich möchte eigentlich folgendes erreichen: Ich habe mehrere ein/ ausgeblendete Spalten
nun möchte ich alle sichtbaren Zeilen kopieren, habe aber keinen Filter gesetzt sondern über ein anderes Macro die Zeilen ein/ ausgeblendet.
Nun möchte ich eigentlich nur die eingeblendeten Zeilen ab A7 komplett in das sheet temp kopieren.
Ich hatte heute schon einmal um Hilfe gebeten, da wurde mir oben genannte Version genannt. Eigentlich würde es mir schon reichen wenn mir jemand sagt was eigentlich target und was rng beinhalten müssen. Ein kleines Bsp. würde mir wahnsinnig helfen

many thx
Jan


Bild


Betrifft: AW: Fehlersuch Objekt erforderlich
von: ChrisL
Geschrieben am: 14.10.2003 16:58:27

Hi Jan

Da brauchst du keine Funktion dafür. Versuchs mal hiermit...

ActiveSheet.Range("A7:IV" & Range("A65536").End(xlUp).Row).SpecialCells(xlCellTypeVisible).Copy Worksheets("temp").Range("A1")

Die letzte zu kopierende Zeile wird anhand von Spalte A ermittelt.

Gruss
Chris


Bild


Betrifft: AW: Fehlersuch Objekt erforderlich
von: Jan Bro
Geschrieben am: 14.10.2003 17:06:35

Vielen Dank,
Würd' Dich am liebsten heiraten, hab' mir echt die Ohren abgebrochen. Es Funktioniert.

Trotzdem noch eine Frage (meine ursprüngliche) Ich möchte auch in der Lage sein eine Summe aller angezeigten Felder in Spalte D zu ziehen, wenn in E ein OL steht. Das wird nicht so ohne weiteres gehen, wie ziehe ich diese Summe (Range problematik)

thx
Jan


Bild


Betrifft: AW: Fehlersuch Objekt erforderlich
von: ChrisL
Geschrieben am: 14.10.2003 17:21:56

Hi Jan

Wenn ich Dich richtig verstehe, dann hast du ja schon alle sichtbaren Felder in die Tabelle temp geholt. Jetzt kannst du die Summe mit der Funktion SUMMEWENN ermitteln oder in VBA mit WorksheetFunction.SumIf.

Ansonsten müsste man dann eine Schleife machen, was allerdings ziemlich unelegant ist. Leider bin ich nicht so der Formelprofi, aber ich denke, dass sich dies auch mit einer normalen Tabellen-Funktion lösen liesse. Die Funktion könnte man dann auch nach VBA übernehmen, aber da müsste erstmal ein Formelprofi ran, was ich nicht bin.

Willst du denn eigentlich eine VBA Lösung oder Tabellen-Funktion. Ist die vorherige Frage lediglich eine Alternative, da du keine Tabellen-Funktion gefunden hast?

Gruss
Chris


Bild


Betrifft: AW: Fehlersuch Objekt erforderlich
von: Jan Bro
Geschrieben am: 14.10.2003 17:31:51

Hallo Chris,
Die bisherige Funktionalität brauche ich um einige Daten zu konsolidieren. Nun wird
die konsolidierte File aber in Besprechungen "weiter verarbeitet" das heißt es wird in einer seperaten Spalte ein Wert eingetragen. Abhänging von dieser Eingabe wird eine Summe über alle sichtbaren Zellen in Spalte XX gezogen. Leider scheint sich das nur mit einem Macro bewerkstelligen zu lassen. Ich habe noch keine Möglichkeit in Excel gefunden mit der ich abfragen kann ob die Zellhöhe Null ist oder nicht.
Ich dachte daher auch an eine Schleife, bin da aber dran gescheitert. Kleines Bsp
____________|Spalte A | Spalte B
sichtbar__________100________OL
nichtsich__________50________OL
sichtbar___________51________UP


nun sollte ich als Summe 100 für Kriterium OL und 51 für UP bekommen. Das überwachen geht mit Worksheet onchange das habe ich schon raus, aber wie sieht die Schleife mit dem
IF not Range.hidden aus


Jan


Bild


Betrifft: AW: Fehlersuch Objekt erforderlich
von: ChrisL
Geschrieben am: 14.10.2003 17:38:51

Hi Jan

Jetzt komme ich langsam dahinter...

Option Explicit


Function summewennsichtbar(bereich As Range) As Double
Dim zelle As Range
Application.Volatile
For Each zelle In bereich
If zelle.RowHeight <> 0 And Cells(zelle.Row, 2) = "OL" Then
summewennsichtbar = summewennsichtbar + zelle
End If
Next
End Function



Siehe Anhang...
https://www.herber.de/bbs/user/1423.xls


Gruss
Chris


Bild


Betrifft: AW: Fehlersuch Objekt erforderlich
von: Jan Bro
Geschrieben am: 14.10.2003 18:10:26

Danke Chris, ich schau mir das heute noch mal an. Wenn ich noch Fragen habe möchte ich Dich bitten morgen früh noch einmal rein zu sehen. Ich hoffe das mir aber alles klar ist.

schönen Abend noch


 Bild

Excel-Beispiele zum Thema " Fehlersuch Objekt erforderlich"

UserForm-ComboBoxes als Collection-Objekte ansprechen download Hintergrundfarbe eines UserForm-Image-Objekts festlegen download
Tabellenblattzeile mit SpreadSheet-Objekt überlagern download