Anzeige
Archiv - Navigation
292to296
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
292to296
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Excel-Makro

Excel-Makro
13.08.2003 14:45:41
Helmuth
Hallo!

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

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel-Makro
13.08.2003 22:09:58
HerbertH
Hallo Helmut,
vielleicht probierst Du das mal so:



Dim Maximum, Eintrag, letzte_Zeile, nr As Integer

Sheets("Tabelle1").Activate

nr = WorksheetFunction.Max([G1].End(xlDown))
Maximum = Range("G1").End(xlDown).Row

If nr <= [H2] Then
MsgBox ("Dieser Index wird bereits verwendet." & vbNewLine _
         & "Bitte wählen Sie eine höhere.")
Exit Sub

Else
[H2] = nr
End If

Eintrag = Cells(Maximum, 2).Value

     Gruß Herbert


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige