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

Klassenprogrammierung

Klassenprogrammierung
23.02.2006 11:57:43
Berthold
Hallo,
ich möchte ein Range Objekt ohne Bindung an eine Tabelle erzeugen, da gleichartige Bereiche mehrfach benötigt werden.
Sobald dann ein solcher Bereich in der Tabelle benötigt wird, soll idealerweise das Objekt dem Bereich einfach zugewiesen (instanziert?)werden, was sowohl Formate als auch ZellinInhalte beinhaltet. Bei der Zuweisung muss dem Objekt noch mitgeteilt werden, welcher Art (ausprägung) es eigentlich ist
Nach meiner bisherigen Kenntnis geht das mit Klassen, allerdings habe ich keine Erfahrung wie, und bekannte Beispiele sind zu allgemein oder nicht vorhanden.
Kann mir jemand auf die Sprünge helfen?

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Klassenprogrammierung
23.02.2006 12:54:23
Nepumuk
Hallo Berthold,
das geht nicht. Du benötigst du eine Automatisierungsschnittstelle zu Exceltabellen und, die gibt es nicht.
Gruß
Nepumuk

AW: Klassenprogrammierung
23.02.2006 14:17:01
Thomas
Hallo Berthold,
ein Range ist keine instanzierbare Klasse.
Vielleicht tut's auch eine einfache Funktion ...


Option Explicit
Public Enum tFORMAT
    tf_green = 0
    tf_red
    tf_redbold
End Enum
Sub t()
    Call FormatRange(Range("B12:K15"), tf_red)
End Sub
Sub FormatRange(rng As Excel.Range, tf As tFORMAT)
    Dim item As Excel.Range
    Application.ScreenUpdating = False
    Select Case tf
    Case tFORMAT.tf_green
        For Each item In rng
            With item
                .Interior.ColorIndex = 4
                .Value = "TEST"
            End With
        Next item
    Case tFORMAT.tf_red
        For Each item In rng
            With item
                .Interior.ColorIndex = 3
                .Value = "TEST"
            End With
        Next item
    Case tFORMAT.tf_redbold
        For Each item In rng
            With item
                .Interior.ColorIndex = 3
                .Font.Bold = True
                .Value = "TEST"
            End With
        Next item
    End Select
    Application.ScreenUpdating = True
End Sub


Gruss
Thomas
Risi Thomas Softwareentwicklung
Addins - Datenbanklösungen - Komponenten - RTDServer
Anzeige
AW: Klassenprogrammierung
23.02.2006 14:44:09
Berthold
Danke für beide Antworten,
allerdings verstehe ich das noch nicht richtig (range keine Instanzierbare Klasse).
Es geht gerade darum, eine Funktion zu vermeiden. Im Grunde will ich die Eigenschaften, die einem Rangeobjekt Bereich (i,J) später zugewiesen werden sollen (formeln, formate), vorher ohne Bindung an einen konkreten Bereich definieren und dann dem Bereich nur noch zuweisen, in einem Schritt.
Da das range Objekt eine Klasse ist, müßte sich doch eine neue Klasse mit den Eigenschaften eines Range Objektes erzeugen lassen+ zusätzliche Ausprägungen?
Grüße
Berthold
AW: Klassenprogrammierung
23.02.2006 15:37:29
Nepumuk
Hallo Berthold,
noch mal, du kannst keine neue/leere Instanz einer Tabelle erzeugen. Das ist einfach nicht vorgesehen und auch mit irgendwelchen Tricks nicht möglich.
Gruß
Nepumuk

Anzeige
AW: Klassenprogrammierung
23.02.2006 19:11:53
Berthold
Hallo Nepomuk,
vielen Dank für die Klarstellung.
Grüße
Berthold

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige