• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Vereenvoudigen Private Sub CommandButton0001_Click()

Status
Niet open voor verdere reacties.

Kens62

Gebruiker
Lid geworden
20 jul 2017
Berichten
16
Beste forumleden,

Is het mogelijk om onderstaande routine te versimpelen?
In mijn bestand wil ik namelijk ongeveer 500 buttons gaan programmeren


Private Sub CommandButton0001_Click()

Dim ip, f As Range
ip = ("0001")
If ip <> "" Then
Set f = Sheets("LRH").Cells.Find(ip, , , xlWhole)
If Not f Is Nothing Then
With Application
.Goto f.Parent.Cells(.Max(1, f.Row - .RoundDown(ActiveWindow.VisibleRange.Rows.Count / 2, 0)), .Max(1, f.Column - .RoundDown(ActiveWindow.VisibleRange.Columns.Count / 2, 0))), True
.Goto f
End With
End If
End If

End Sub

Private Sub CommandButton0002_Click()

Dim ip, f As Range
ip = ("0002")
If ip <> "" Then
Set f = Sheets("LRH").Cells.Find(ip, , , xlWhole)
If Not f Is Nothing Then
With Application
.Goto f.Parent.Cells(.Max(1, f.Row - .RoundDown(ActiveWindow.VisibleRange.Rows.Count / 2, 0)), .Max(1, f.Column - .RoundDown(ActiveWindow.VisibleRange.Columns.Count / 2, 0))), True
.Goto f
End With
End If
End If

End Sub

Private Sub CommandButton0003_Click()

Dim ip, f As Range
ip = ("0003")
If ip <> "" Then
Set f = Sheets("LRH").Cells.Find(ip, , , xlWhole)
If Not f Is Nothing Then
With Application
.Goto f.Parent.Cells(.Max(1, f.Row - .RoundDown(ActiveWindow.VisibleRange.Rows.Count / 2, 0)), .Max(1, f.Column - .RoundDown(ActiveWindow.VisibleRange.Columns.Count / 2, 0))), True
.Goto f
End With
End If
End If
End Sub

Enzovoort.

Alvast bedankt voor jullie moeite
 
Zou dit iets zijn?
Code:
Private Sub CommandButton0001_Click()

Dim ip, f As Range
ip = Right(CommandButton0001.Caption, 4)
If ip <> "" Then
Set f = Sheets("LRH").Cells.Find(ip, , , xlWhole)
If Not f Is Nothing Then
With Application
.Goto f.Parent.Cells(.Max(1, f.Row - .RoundDown(ActiveWindow.VisibleRange.Rows.Count / 2, 0)), .Max(1, f.Column - .RoundDown(ActiveWindow.VisibleRange.Columns.Count / 2, 0))), True
.Goto f
End With
End If
End If

End Sub
Of deze als de tekst op de button afwijkt:
Code:
   ip=Right(CommandButton0001.Name, 4)
 
Laatst bewerkt:
VenA het gaat inderdaad om hetzelfde bestand.

Ik wil het echter gebruikersvriendelijker maken.

Zie bijgaand bestand als voorbeeld.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan