vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2017
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Worksheet_Change() führt zu #WERT! in Zellen 
Autor: RF
Datum: 05.10.17 20:14

Hallo,

ich habe ein interessantes Problem in VBA mit Excel 2003.

In einer Tabelle habe ich eine Übersicht, die ich automatisch sortiert haben möchte. Dazu habe ich - einem Snippet von stackoverflow - in dem Tabellenblatt folgenden Code eingefügt:
Private Sub Worksheet_Change(ByVal Target As Range)
 
Dim SortRange As Range
Set SortRange = Range(("A1"), Cells(Rows.Count, 78))
 
        SortRange.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlYes, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub
Das funktioniert soweit problemlos und genau nach meinen Wünschen.

In der Tabelle werden bestimmte Eigenschaften u.a. durch die Hintergrundfarbe einer Zelle gepflegt. Ich habe nun eine Spalte hinzugefügt, in der steht ob eine bestimmte Zelle der Zeile grün ist oder nicht.

Dazu habe ich in einem Modul folgenden Einzeiler definiert:
Function IsDigital(Cell As Range)
 
    IsDigital = (Cell(1, 1).Interior.ColorIndex = 35)
 
End Function
und rufe ihn in der Tabelle über
=IsDigital(D3)
auf.

In der Tabelle erscheint aber statt erwartet WAHR oder FALSCH nur #WERT! Eine kurze Fehleranalyse brachte folgendes zu Tage:

1) Im Formelfenster von Excel gibt die Funktion den korrekten Wert zurück.
2) Kommentiere ich die AutoSort-Funktion aus, funktioniert die Formel korrekt und in der Tabelle stehen die korrekten Werte
3) Kommentiere ich die AutoSort-Funktion wieder ein und ändere die Funktion zu
Function IsDigital(Cell As Range)
 
        IsDigital = (Cell(1, 1).Value)
 
End Function
dann steht in der entsprechenden Zelle der korrekte Wert.

Es scheint mir also, dass ich der .Interior-Teil mit der Sortierfunktion nicht verträgt.

Nun frage ich mich zwei Dinge:
a) Kennt jemand das Problem?
b) Wie löse ich es, dass ich AutoSort _und_ die IsDigital-Funktion gleichzeit haben kann?

Viele Grüße,
Rico

____________________________________________________
"Mein Leipzig lob' ich mir, es ist ein Klein-Paris" (aus: "Faust")

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

Neue Version! sevEingabe 3.0 (für VB6 und VBA)
Das Eingabe-Control der Superlative! Noch besser und noch leistungsfähiger!
Jetzt zum Einführungspreis       - Aktionspreis nur für kurze Zeit gültig -
 ThemaViews  AutorDatum
Worksheet_Change() führt zu #WERT! in Zellen71RF05.10.17 20:14
Re: Worksheet_Change() führt zu #WERT! in Zellen22effeff17.10.17 15:30

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2017 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel