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

OleObject

OleObject
15.12.2003 17:30:56
Dirk
Hallo,
ich habe mehrere Arbeitsblätter mit einer verschiedenen Anzahl von Checkboxen!
Wer kann mir helfen, folgenden Code zu optimieren:


Sub Auswertung()
Dim rng As Range
Dim ws As Worksheet
Dim j As Integer
Dim s As Integer
Dim wert As Integer
Dim z As Integer
Dim lngletztezeile As Integer
For j = 1 To Worksheets.Count
For s = 2 To 32
wert = 0
lngletztezeile = Worksheets(j).Cells(Worksheets(j).Rows.Count, 1).End(xlUp).row
For z = 4 To lngletztezeile
Set ws = ThisWorkbook.Worksheets(j)
Set rng = ws.Cells(z, s)
If ZelleHatOLEObject(Zelle:=rng, blatt:=ws) Then
wert = wert + 1
Tabelle1.Cells(j, s) = wert
End If
Next z
Next s
Tabelle1.Cells(j, 33) = WorksheetFunction.Sum(Cells(j, 2), Cells(j, 3))
Next j
Set ws = Nothing
Set rng = Nothing
End Sub



Function ZelleHatOLEObject(Zelle As Range, blatt As Worksheet) As Boolean
Dim ol As OLEObject
ZelleHatOLEObject = False
For Each ol In blatt.OLEObjects
If Zelle.Address = ol.TopLeftCell.Address Then
If ol.Object.Value = True Then
ZelleHatOLEObject = True
Exit Function
End If
End If
Next ol
End Function


Mein Problem ist nun folgendes: Zwar funktioniert der Code, die Ausführung dauert mir jedoch zu lange, da schnell mal mehrere Tausend Checkboxen zu prüfen sind: Wenn die Funktion aufgerufen wird, werden alle Checkboxen durchlaufen (bis die Zellenadresse übereinstimmt!), obwohl die zu prüfende Checkbox durch die Zelladresse (Set rng = ws.Cells(z, s))bereits bekannt ist (der Name der Checkbox ist mir nicht bekannt!)!
Kann die Funktion so geändert werden, dass direkt die entsprechende Checkbox über die Zelladresse angesprochen wird, ohne potentiell alle Checkboxen in einer Schleife abzufragen?

Danke schon jetzt für jede Hilfe,

Dirk

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

Betreff
Datum
Anwender
Anzeige
AW: OleObject
17.12.2003 05:40:22
Hans W. Herber
Hallo Dirk,

zäume das Pferd von der anderen Seite auf und bilde eine Schleife über alle OleObjects der Blätter, lies die TopLeftCell-Daten aus und trage dementspreched die Werte ein.

gruss hans
AW: OleObject
17.12.2003 14:53:16
Dirk
Hallo Hans,

Danke für den Tipp! Werde mich gleich an die Arbeit machen....

Beste Grüsse,
Dirk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige