Excel-Makro
13.08.2003 14:45:41
Helmuth
Ich habe ein Makro im Excel geschrieben, welches die Funktion hat, Datensätze von einer allgemeinen Tabelle (Tabelle1) in der Arbeitsmappe in andere Tabellen zu kopieren (Tabelle2...Tabelle15). Die neuen Datensätze in der Tabelle1 werden nach Kontonummern geordnet. Es ist also üblich die neuen Datensätze zwischen den bestehenden einzuordnen. Damit trotzdem immer der aktuellste kopiert wird, hab ich die Datensätze um eine Spalte erweitert, in welche eine fortlaufende Nummer eingetragen wird, die ich dann mit einer Max-Funktion ansteuern kann.
Weiters soll der gegenwärtige maximale Wert zur Orientierung in einem Feld extra angezeigt werden.
Nun zu meinem Problem:
Wenn ich einen Datensatz eingegeben und kopiert habe, läuft alles wie es soll. Aber wenn ich nun DARUNTER einen weiteren hinzufüge, wird die Nummer nicht als Maximum ermittelt. Sollte ich hingegen DARÜBER einen einfügen, funktioniert es wieder. So geht das immer weiter.
Hier der relevante Teil vom Makro:
'Deklarieren der Variablen
Dim Maximum
Dim Eintrag
Dim letzte_Zeile
Dim nr
'Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = False
Sheets(Tabelle1).Activate
'Maximum in der Spalte G suchen
'Weiters wird der Wert des Maximums der Variable nr zugewiesen
nr = Application.WorksheetFunction.Max(Range(Range("G1"), Range("G1").End(xlDown)))
'Die Zeile markieren, in welcher sich das Maximum befindet
Maximum = Range("G1").End(xlDown).Offset(0, 0).Row
If nr <= Range("H2").Value Then
MsgBox ("Dieser Index wird bereits verwendet. Bitte wählen Sie eine höhere.")
Exit Sub
Else
'Das Maximum wird in die Tabelle eingefügt
Range("H2").Value = nr
End If
'der Wert der BUK in der Tabelle wird zugewiesen
Eintrag = Cells(Maximum, 2).Value
'der Wert des Buk wird mit allen vorhandenen verglichen.
Select Case Eintrag
.
.
Die Tabellen wurden vorher schon deklariert.
Ich bin mir sicher es handelt sich nur um eine Kleinigkeit, aber ich komm nicht drauf. Wäre für jede Hilfe dankbar.
Gruß, Helmuth