Nummerisch Zahl aufsteigend einfügen

Also der CommanButton5 (Sortieren, Nummerieren) soll beim CommanButton4 mit ausgeführt werden.
Hatte das im ersten Code mit "Call...." versucht, aber das funktionierte nicht.
 
Sind die beiden CommandButtons in derselben Klasse (Excel-Sheet oder Form)?
Wenn nicht,m dann kennen sie sich nicht, da sie Privat sin.

Ich würde CommandButton5_Click( eh in eine Subin einem unabhängigen Modul auslagern und diese Sub dann aus beiden CommandButtons aufrufen.
 
Ich wollte wie im CommandButton4 bereits versucht, den ...Button5 mit ausführen lassen, was aber wohl so nicht funktioniert. Gruß
 
Erstelle ein Modul und setze die Extrahierte Sub da hinein
Visual Basic:
Public Sub recalcRowNr
    Dim LastRow As Long ' Tabelle ArbDat sortieren
    Dim i
    With Worksheets("ArbTab")

        Worksheets("ArbTab").Unprotect  ' HIERMIT WIRD DIE TABELLE "ARBDAT" FÜR DEN ZUGRIFF GEÖFFNET

        LastRow = .Range("A65536").End(xlUp).Row
        .Range("A2:z" & LastRow).Sort Key1:=.Range("D2"), Key3:=.Range("E2"), Key3:=.Range("H2")


        Application.EnableEvents = False

        For i = 2 To LastRow
            .Range("A" & i) = i - 1
        Next

        Application.EnableEvents = True

        Call UserForm_Initialize
    End With
End Sub

Dann kannst du deine CommansButtons anpassen
Visual Basic:
Private Sub CommandButton4_Click()
    '.. diverser COde

    'Call Tabelle8.CommandButton5_Click ' <-- hier der Aufruf
    Call recalcRowNr()
    Unload Me  ' Call Sichern
End Sub

Private Sub CommandButton5_Click() ' Tabelle Arb sortieren
    Call recalcRowNr()
End Sub
 
Danke vielmals. Die Codetexte waren die perfekten Ergänzungen für meinen Code. Es funktioniert soweit ich es bis jetzt getestet habe perfekt. Nochmal Danke und Gruß Josef
 
Ich rate dir, in den CammandButtons-Subs nur wenig zu machen und viel mehr in Funktionen und Subs auslagern.
 
Ich rate dir, in den CammandButtons-Subs nur wenig zu machen und viel mehr in Funktionen und Subs auslagern.


Hallo zusammen, muss nochmal eine Frage stellen.
Wenn man neues in die Praxis umsetzt merkt man erst wo es noch hakt.
Bei mir ist folgendes noch nicht perfekt.
In der ursprünglichen Version habe ich immer manuell eine Tabellenaktualisierung händisch/manuell veranlasst. Dies geschieht mit der aktuellen Änderung ja nicht mehr.

Kann man den u.a. Code ebenfalls in die obige Codes integrieren?

Die Schwierigkeit für mich besteht darin die "Funktion aktualisieren " zu den einzelnen Tabellenblättern zu finden. Bin mit meinen versuchen leider nicht weiter gekommen.

Gruß Josef

Dazu war folgender ursprügliche Code verantwortlich:

Code:
Private Sub CommandButton7_Click() ' Sub AllesAktualisieren()

With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    .EnableEvents = False
   
End With

   Dim wksTab As Worksheet
 
   If ThisWorkbook.Saved = False Then
 
           With wksTab
               Auswwasser    ' Aufruf Makro1
               Zuza          ' Aufruf Makro2
               Tab_Teiln     ' Aufruf Makro3
               Telefon       ' Aufruf Makro4
               Post          ' Aufruf Makro5
               SZ            ' Aufruf Makro6
               Problem       ' Aufruf
               Nachw_halbj   ' Aufruf
               TabStat
               gebtab
               Corona
             
               End With
             
       ActiveWorkbook.Save
     
        End If
       
    With Application
   
.ScreenUpdating = True

.Calculation = xlCalculationAutomatic

.EnableEvents = True

End With

End Sub
 
Zuletzt bearbeitet:
Zurück