wat is los mit NT ?



Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: wat is los mit NT ?
von: Max
Geschrieben am: 24.06.2002 - 20:02:08

Moin, liebe Gemeinde.

Dieser Teufel raubt mir den letzten Nerv:

Kann mir in Jemand einen Tipp geben ?
Wäre riesig.

Die Routine steht ganz hinten.

FuerDatum ist ein Date-Value
Einzelwerte und Tageswerte sind Ranges.
wsTagesHistory ist Public definiert: worksheets .....

Die Routine sucht in wsTagesHistory in HistTageSpalte nach einem definitiv vorhandenen Datum.
Hinter diesem Datum verbirgt sich eine Zusammenfassung vieler Einzelpositionen.
Hier hinterlegt sind auch die Anfangs- und Endzeile der immer als Block vorhandenen Einzelwerte
in einem anderen Bereich.

Wenn die Routine funktioniert, liefert sie in Tageswerte den Bereich der Tageszusammenfassung
(Bruchteil einer Gesamtzeile) sowie in Einzelwerte den Gesamtbereich der einzelnen Werte (die
in der Tageszusammenfassung zusammengefaßt sind).
Dadurch kann ich mit 2 lapidaren ClearContents beide Bereiche bei Bedarf löschen.

Ich entwickle unter Windows2000 und Office2000.
Solange ich dabei bleibe ist die Welt in Ordnung.
Leider bin ich nun gezwungen, solche Routinen auch unter NT zu implementieren.

Was passiert: unter 2000/2000 liefert diese Routine absolut korrekte Werte; nach dem ganzen
Debakel mit NT habe ich die Gesamtanwendung auf verschiedenen Rechnern unter 2000/2000
laufen lassen: keine Probleme.

Übernehme ich die ganze Angelegenheit mittels Diskette auf NT, dann liefert "ErgebnisObjekt"
stets den Wert NOTHING, auch dann, wenn ich temporär den "Suchbereich" auf
EndePrüfungZeile + 1 setze (wohlgemerkt: FuerDatum ist in der Tabelle enthalten).

Nehme ich die originale (also ohne jede Veränderung) Installation auf NT (2000 -> NT) wieder
zurück (NT -> 2000), dann läuft die Anwendung einwandfrei.

Anmerkung: ich habe .find schon hundertfach unter NT zum Einsatz gebracht.

Was, um alles in der Welt, bringt diese bestimmt nicht hoch elaborierte Routine auf NT zum
Absturz und immer bei "Set ErgebnisObjekt =".
Pack ich eine Worksheets(...).activate und ein Suchbereich.select vor den Set, zeigt er mir
genau den gewünschten Bereich an.

Hier die Routine:

Sub PerformDatumVorhanden(FuerDatum, Einzelwerte, Tageswerte)

Dim StartPrüfungZeile, EndePrüfungZeile As Long
Dim EinzelwerteVonZeile, EinzelwerteBisZeile As Long
Dim Suchbereich, ErgebnisObjekt As Range
Dim Blockbreite As Byte

Set Einzelwerte = Nothing
Set Tageswerte = Nothing

With wsTagesHistory

StartPrüfungZeile = 1
EndePrüfungZeile = .Cells(Rows.Count, HistTageSpalte).End(xlUp).Row
Set Suchbereich = .Range(.Cells(StartPrüfungZeile, HistTageSpalte), _
.Cells(EndePrüfungZeile, HistTageSpalte))
Set ErgebnisObjekt = Suchbereich.Find(FuerDatum, LookIn:=xlValues, _
LookAt:=xlWhole)

If Not ErgebnisObjekt Is Nothing Then

If (EndePrüfungZeile > 1) Then

EinzelwerteVonZeile = .Cells(ErgebnisObjekt.Row, vonZeileSpalte)
EinzelwerteBisZeile = .Cells(ErgebnisObjekt.Row, bisZeileSpalte)

Blockbreite = .Cells(EinzelwerteBisZeile, 1). _
End(xlToRight).Column

Set Einzelwerte = .Range(.Cells(EinzelwerteVonZeile, 1), _
.Cells(EinzelwerteBisZeile, Blockbreite))

Set Tageswerte = .Range(.Cells(ErgebnisObjekt.Row, HistTageSpalte), _
.Cells(ErgebnisObjekt.Row, Columns.Count))

End If

End If
End With

End Sub

nach oben   nach unten

Re: wat is los mit NT ?
von: Hans W. Hofmann
Geschrieben am: 24.06.2002 - 20:29:34

Hallo Max,

setz mal Option Explicit vor Deinen Code. Dann beseitige alle Variant Vereinbarungen zu gunsten einer korrekten Typisierung.
Dann reden wir weiter...

Gruß HW


nach oben   nach unten

Re: wat is los mit NT ?
von: Max
Geschrieben am: 25.06.2002 - 05:37:36

Hallo, HW.

In meinen Codes gibt es keinen einzigen Variant und ohne Option
Explicit geht schon rein aus Revisionsgründen gar nichts.

Max


nach oben   nach unten

Re: wat is los mit NT ?
von: Max
Geschrieben am: 25.06.2002 - 05:37:49

Hallo, HW.

In meinen Codes gibt es keinen einzigen Variant und ohne Option
Explicit geht schon rein aus Revisionsgründen gar nichts.

Max


nach oben   nach unten

Re: wat is los mit NT ?
von: max
Geschrieben am: 25.06.2002 - 08:38:40

Nochmal Hallo.
Mittlerweile bin ich der Lösung ein ganz kleines bißchen näher
gekommen:
Die lokale Installation auf dem NT-Netz bringt keinen Erfolg - war aber einen Versuch wert.
Ich suche ja in einer Datumsspalte: diese ist mit TT.MM.JJJJ for-
matiert und enthält definitiv Date-Werte.
Wenn ich spaßeshalber in eine dieser Zellen "Hugo" reinschreibe und auch nach "Hugo" suche, dann wird "Hugo" gefunden.
Man kann dann wohl davon ausgehen, daß des Rätsels Lösung NICHT am ".find" selber liegt.
Aber woran dann ?

Max

nach oben   nach unten

Re: wat is los mit NT ? Es ist vollbracht.
von: Max
Geschrieben am: 25.06.2002 - 08:58:49

Hallo, HW.

Erstmal Danke für Deine Antwort.
Ich habe die Lösung gefunden, jedoch nicht die Erklärung warum
das Problem unter Windows2000/Office2000 nicht, aber unter Windows NT/Office2000 auftritt (beides Professional-Versionen).
Ersetze ich in .find LookIn:=xlValues durch LookIn:=xlFormulas läuft alles wie es soll.
So ganz leuchtet es mir nicht ein.

Max

nach oben   nach unten

Re: wat is los mit NT ?
von: Hans W. Hofmann
Geschrieben am: 25.06.2002 - 10:18:29


Sub PerformDatumVorhanden(FuerDatum, Einzelwerte, Tageswerte)
^^^^^^^^^ ^^^ ^ ^ ^ ^^^^ ^ ^^ ^^ Variant
Dim StartPrüfungZeile, EndePrüfungZeile As Long
^^^^^^ ^ Variant
Dim EinzelwerteVonZeile, EinzelwerteBisZeile As Long
^^^^^^^^^ Variant
Dim Suchbereich, ErgebnisObjekt As Range
^^^^^^^ Variant
Dim Blockbreite As Byte

Gruß HW


nach oben   nach unten

Re: wat is los mit NT ?
von: Max
Geschrieben am: 25.06.2002 - 14:15:55

Oh, Mann !!

Das ist mir noch nie aufgefallen !!!
Werde das gleich mal berichtigen.

Danke
Max


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Wert in Inputbox speichern"