Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
128to132
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
128to132
128to132
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

wat is los mit NT ?

wat is los mit NT ?
24.06.2002 20:02:08
Max
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

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: wat is los mit NT ?
24.06.2002 20:29:34
Hans W. Hofmann
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

Re: wat is los mit NT ?
25.06.2002 05:37:36
Max
Hallo, HW.

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

Max

Re: wat is los mit NT ?
25.06.2002 05:37:49
Max
Hallo, HW.

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

Max

Re: wat is los mit NT ?
25.06.2002 08:38:40
max
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

Anzeige
Re: wat is los mit NT ? Es ist vollbracht.
25.06.2002 08:58:49
Max
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

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


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

Anzeige
Re: wat is los mit NT ?
25.06.2002 14:15:55
Max
Oh, Mann !!

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

Danke
Max

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige