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-Key: 547280

Url: https://administrator.de/contentid/547280

Printed on: April 19, 2024 at 16:04 o'clock

Mitglied: 142970
142970 Feb 14, 2020, updated at Feb 16, 2020 at 15:41:11 (UTC)
Goto Top
Member: ucdsr2019
ucdsr2019 Feb 14, 2020 at 16:28:18 (UTC)
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
Member: ucdsr2019
ucdsr2019 Feb 14, 2020 at 16:29:29 (UTC)
Goto Top