06. november 2019 - 08:23Der er
8 kommentarer og 1 løsning
VBA - Kommando knap - Klik, værdi i celle, klik værdi i næste celle
Hej
Jeg håber der er en hjælpsom bruger, der kan hjælpe mig i mål med lidt VBA kodning... Jeg vil forsøge at lave et værktøj til et event, hvor vi i dag bruger papir og blyant i store mængder. Jeg har brug for 7 knapper. Knap 1-6 skal have værdier med forskellige værdier fra 0,0 til 0,5 og den 7. knap skal reset et område. Alt det har jeg løst i VBA, men min udfordring er, at jeg ønsker at næste klik på knap 1 til 6 indsætter værdi i næste tomme celle i området b2:b11.
Koden nedenfor finder den godt nok celle b3, men klikker jeg igen på knap 1-6, så ligger den værdien i celle b2
knap 7 fungerer som den skal
Kan nogen hjælpe med koderne? Det er helt sikkert min linje 2 for hver af knap 1-6 der skaber mine problemer...
Private Sub CommandButton1_Click() Range("b2") = Range("b2") + 0 / 10 Range("b2").Select For Each cell In Range("b2:b11") If cell.Value = "" Then Exit For cell.Offset(1, 0).Select Next End Sub Private Sub CommandButton2_Click() Range("b2") = Range("b2") + 1 / 10 Range("b2").Select For Each cell In Range("b2:b11") If cell.Value = "" Then Exit For cell.Offset(1, 0).Select Next End Sub Private Sub CommandButton3_Click() Range("b2") = Range("b2") + 2 / 10 Range("b2").Select For Each cell In Range("b2:b11") If cell.Value = "" Then Exit For cell.Offset(1, 0).Select Next End Sub Private Sub CommandButton4_Click() Range("b2") = Range("b2") + 3 / 10 Range("b2").Select For Each cell In Range("b2:b11") If cell.Value = "" Then Exit For cell.Offset(1, 0).Select Next End Sub Private Sub CommandButton5_Click() Range("b2") = Range("b2") + 4 / 10 Range("b2").Select For Each cell In Range("b2:b11") If cell.Value = "" Then Exit For cell.Offset(1, 0).Select Next End Sub Private Sub CommandButton6_Click() Range("b2") = Range("b2") + 5 / 10 Range("b2").Select For Each cell In Range("b2:b11") If cell.Value = "" Then Exit For cell.Offset(1, 0).Select Next End Sub Private Sub CommandButton7_Click() Range("B2", "B11").Clear End Sub
Jeg håber der er en vis og klog person der kan hjælpe mig af med problemet
Option Explicit Dim ws As Worksheet Dim Cell As Range
Private Sub Knapper(Value As Integer) Forfra: On Error GoTo Fejl Cell = Cell.Offset(-1, 0) + Value / 10 Set Cell = Cell.Offset(1, 0) Exit Sub Fejl: Set ws = ActiveSheet Set Cell = ws.Range("B2") GoTo Forfra End Sub
Private Sub CommandButton1_Click() Knapper (0) End Sub
Private Sub CommandButton2_Click() Knapper (1) End Sub
Private Sub CommandButton3_Click() Knapper (2) End Sub
Private Sub CommandButton4_Click() Knapper (3) End Sub
Private Sub CommandButton5_Click() Knapper (4) End Sub
Private Sub CommandButton6_Click() Knapper (5) End Sub
Private Sub CommandButton7_Click() Dim ClearCell Set ws = ActiveSheet Set ClearCell = ws.Range("B2") Set ClearCell = Range(ClearCell, ClearCell.Offset(9, 0)) ClearCell.Clear Set Cell = ws.Range("B2") End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.