Kleine Geistergeschichte!

Bild

Betrifft: Kleine Geistergeschichte! von: Edwin
Geschrieben am: 16.02.2005 08:50:05

Hallo ihr Lieben,
in meinem VBA geistert es.

Ich habe eine Tabelle, in der stehen Provisionssätze zu einzelnen Mitarbeitern.
Derzeit sind 7 Spalten mit Daten gefüllt.

In 1:1 stehen unter anderem die Mitarbeiternamen und darunter die jeweiligen Provisionssätze.

Mein VBA zur Abfrage der jeweiligen Provision funktioniert einwandfrei.

Jetzt kommt die Geistergeschichte: Ich habe in G1 (wie gesagt Spalte 7 = letzte Spalte) schon mehrfach einen neuen Mitarbeiternamen eingefügt. Wenn ich später mir den Inhalt von G1 wieder anschaue, dann steht da plötzlich die Zahl "7" drin.
Ich habe aber nur einen VBA, der auf diese Zelle überhaupt zugreift.

Set Mitarbeiterspalte = Sheets("Provisionssätze").Range("1:1") _
.Find(Sheets("Wochenbericht").Range("E2"))

Mir ist es völlig rätselhaft, warum der Mitarbeitername immer in die Zahl 7 abgeändert wird.

Habe ich eine Möglichkeit ein Änderungsprotokoll auf die Zelle G1 zu machen, die mir dann protokolliert, woher die Änderung stammt?

Gruß
Edwin

Bild


Betrifft: AW: Kleine Geistergeschichte! von: Galenzo
Geschrieben am: 16.02.2005 13:46:37

hast evtl. eine Worksheet_Change-Prozedur in der Tabelle1?


Bild


Betrifft: AW: Kleine Geistergeschichte! von: Edwin
Geschrieben am: 16.02.2005 14:07:28

Hallo Galenzo,
ja ich habe eine Worksheet_Change-Prozedur, aber hier greife ich nicht auf die besagte Spalte zu.

Hier habe ich noch einen Befehl, der darauf zugreift.
Habe ich hier vielleicht einen Fehler drin, der mit die Zelle verändert?

Set LetzteSpalte = Worksheets("Provisionssätze").Cells(1, Columns.Count).End(xlToLeft)

LetzteSpalteNamen = Left(LetzteSpalte.Address(False, False), IIf(LetzteSpalte.Column > 26, 2, 1))

LetzteSpalte = Worksheets("Provisionssätze").Cells(1, Columns.Count).End(xlToLeft).Column

Gruß
Edwin


Bild


Betrifft: Ich hab' den Geist erwischt! von: Galenzo
Geschrieben am: 16.02.2005 16:36:37

da ham wa s doch:
LetzteSpalte = Worksheets("Provisionssätze").Cells(1, Columns.Count).End(xlToLeft).Column

LetzteSpalte ist nicht etwa eine Zahl - sondern eine Zelle!!
"Letzte Spalte" ist bei 7 Einträgen genau die Zelle G1. und diese erhält hier gerade den Eintrag 7 - nämlich die Anzahl belegter Spalten.

Um solche Fehler künftig zu vermeiden, kann ich dir nur eine saubere Variablendeklaration empfehlen. Nach dem Schema:

Dim intRow As Integer
Dim rngBereich As Range


Bild


Betrifft: AW: Ich hab' den Geist erwischt! von: Edwin
Geschrieben am: 16.02.2005 16:49:18

super, danke

das sind halt typische Anfängerfäähler

Gruß
Edwin


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Auswahlliste und Blattauswahl"