Jeg er helt ny ud i det at programmerer med VBA.
Jeg har dog fået lavet mig en makro der ved tryk på en knap, indsætter en ny linje, spørger brugeren om forskellige oplysninger der skal indtastes, som så bliver sat ind i forskellige celler. Til sidst i rækken skal der så oprettes en knap. Knappen skal så fortælle mig hvilken række knappen er i. -dette virker fint... Lige indtil jeg starter makroen forfra. Så giver knappen til sidst i linien et forkert svar.
Kan nogen hjælpe mig?
Min makro ser sådan her ud:
Sub OpretNySag()
'
' OpretNySag Makro
'
'
'Workbooks("TEST").RefreshAll
Rows("13:13").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A13").Select
ActiveCell.FormulaR1C1 = "=+R[1]C+1"
Range("C13").Select
Range("B13").Select 'markør celle B13'
Range("B13").Value = Date 'Indsætter dags dato i celle B13'
Range("C13").Select 'markør til celle C13'
result1 = InputBox("Kundenavn?", "Angiv kundenavn") 'spørger bruger om at indtaste kundenavn'
Range("C13").Value = result1 'insætter kundenav i celle C13'
Range("D13").Select 'markør til celle D13'
result2 = InputBox("Beskrivelse?", "Beskrivelse af opgave") 'spørger bruger om at indtaste beskrivelse af opgave'
Range("D13").Value = result2 'indsætter beskrivelse i celle D13'
Range("E13").Select ' markør til celle E13'
result3 = InputBox("Ansvarlig hos Firma?", "Angiv Firma ansvarlig") 'spørger bruger om at indtaste EB ansvarlig'
Range("E13").Value = result3 'indsætter navn på ansvarlig i celle E13'
Range("F13").Select 'markør til celle F13'
result4 = InputBox("Leveringsdato?", "Angiv leveringsdato") 'spørger bruger om at indtaste leveringsdato'
Range("F13").Value = result4 'indsætter leveringsdato i F13'
Range("G13").Select 'markør til celle G13'
result5 = InputBox("Kontaktperson hos kunde?", "Angiv Kundekontakt") 'spørger bruger om at indtaste kontaktperson hos kunde'
Range("G13").Value = result5 'indsætter leveringsdato i G13'
Range("H13").Select 'markør til celle H13'
Range("A13").Select
For Each OneCell In Selection
Sagsnr = (OneCell.Value)
MsgBox "Det nye sagsnummer er: " & Sagsnr
Next
'Opretter Arbejdskortknap knap i celle I13'
Dim btn As Button
Dim t As Range
Set t = ActiveSheet.Range("I13")
Set btn = ActiveSheet.Buttons.Add(t.Left, t.Top, t.Width, t.Height)
With btn
.OnAction = "Arbejdskort"
.Caption = "Arbejdskort"
.Name = "Arbejdskort"
End With
End Sub
Koden på arbejdskort-knappen er:
Sub Arbejdskort()
'
' Arbejdskort Makro
Dim b As Object
Dim cs, rs As Integer
Dim ss, ssv As String
Set b = ActiveSheet.Buttons(Application.Caller)
With b.TopLeftCell
rs = .Row
cs = .Column
End With
ss = Left(Cells(1, cs).Address(False, False), 1 - (ColNumber > 26)) & rs
ssv = Range(ss).Value
MsgBox "Row Number " & rs & " Column Number " & cs & vbNewLine & _
"Cell " & ss & " Content " & ssv
End Sub