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
|