ucdsr2019
Goto Top

Mit Schaltfläche eine Zelle um 1 erhöhen - 26 Zeilen jeweils eine Schaltfläche und einem Code

Hallo,

ich brauche eine Art Zahlengenerator, dafür habe ich schon einen guten Code aus einem anderem Forum bekommen:

Sub Schaltfläche1_BeiKlick()
    With ActiveSheet.Range("D6")  
        nummer = .Value
        nummer = nummer - 1
        If nummer Mod 100 = 0 Then nummer = nummer - 1
        .Value = nummer
    End With
End Sub


 
Sub Schaltfläche1_BeiKlick()
    With ActiveSheet.Range("D6")  
        nummer = .Value
        nummer = nummer + 1
        If nummer Mod 100 = 0 Then nummer = nummer + 1
        .Value = nummer
    End With
End Sub



Ich habe (s.Anlage) 26 Zeilen wo jeweils ein fortlaufender Zahlengenerator stehen soll. Beim aktuellen Code müsste ich also 26 Module für +1 und 26 Module für -1 einfügen.

Kann ich ein Modul bzw. den Code für eine ganze Spalte benutzen - dass alle Button "weiter" auf der jeweiligen Zeile die Nummer ändert?

Vielen Dank


Vielen Dank im Voraus
liste

Content-ID: 547280

Url: https://administrator.de/forum/mit-schaltflaeche-eine-zelle-um-1-erhoehen-26-zeilen-jeweils-eine-schaltflaeche-und-einem-code-547280.html

Ausgedruckt am: 23.12.2024 um 19:12 Uhr

142970
142970 14.02.2020, aktualisiert am 16.02.2020 um 16:41:11 Uhr
Goto Top
ucdsr2019
ucdsr2019 14.02.2020 um 17:28:18 Uhr
Goto Top
Hier die Lösung: Vielen Dank an fcs!!! (aus herber frm)

Option Explicit

Sub prcButton_Plus()
    'Hochzählen  
    Dim Zeile As Long
    Zeile = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
    Call ZaehlenHochRunter(Zeile, bolPlus:=True)
End Sub

Sub prcButton_Minus()
    'Runterzählen  
    Dim Zeile As Long
    Zeile = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
    Call ZaehlenHochRunter(Zeile, bolPlus:=False)
End Sub

Sub ZaehlenHochRunter(ByVal Zeile, bolPlus As Boolean, _
        Optional Spalte As Long = 4)
    Dim nummer As Long
    With ActiveSheet
        With .Cells(Zeile, Spalte)
            '.Select 'diese Zeile muss nicht sein, es sei den der Cursor soll dort stehen.  
            nummer = .Value
            nummer = nummer + IIf(bolPlus, 1, -1)
            If nummer Mod 100 = 0 Then nummer = nummer + IIf(bolPlus, 1, -1)
            .Value = nummer
        End With
    End With
End Sub
ucdsr2019
ucdsr2019 14.02.2020 um 17:29:29 Uhr
Goto Top