Fejlkode Type mismatch (Error 13) VBA ... HJÆLP
Jeg får en Type mismatch (Error 13)fejl i min kode.Det hele virkede indtil jeg forsøgte at ændre inputbox til application.inputbox (for at kunne få en scroll bar til min inputbox)
nu - selv hvis jeg retter tilbage, virker det slet ikke længere.
Jeg forstår ikke helt hvorfor. Nogen der kan fange fejlen?
Pls. hjælp mig... :)
Rem Version 3
Rem =========
Const sti = "C:\Users\Iris\Dropbox\Sponsor\Sponsor mappe" '<--- SKAL TILPASSES når skabelonen og sponsorliste flyttes til ny destination
Dim xlsKontrakt As Workbook '<--- tabellen kan udvides efter behov - p.t. anvendes pladserne fra 0 - 10 *)
Dim tabel(11)
Dim xlsSP As Workbook
Dim antalRæk As Integer, ræk As Integer, x As Integer, valg As String, svar, vNr As Integer, tomRæk As Integer
Const xlsSPfilNavn = "Sponsorliste.xlsm" '<--- Her kan efternavn på sponsorlisten rettes fra xlsx --> xlsm
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If InStr(LCase(ActiveWorkbook.Name), ".xltm") > 0 Then
Exit Sub
End If
Set xlsKontrakt = ActiveWorkbook
Workbooks.Open (sti & "\" & xlsSPfilNavn)
Set xlsSP = ActiveWorkbook
xlsSP.Sheets(1).Activate
antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
Rem Søg efter tom række
tomRæk = findTomRække
valg = "Tast nr" & vbCr & "0 Ny sponsor"
For ix = 2 To antalRæk
valg = valg & vbCr & ix & " " & Range("B" & ix) & " " & Range("C" & ix)
Next ix
svar = Application.InputBox(valg, "Nyoprettelse eller opdatering")
If svar = "" Then 'cancel
Exit Sub
Else
If IsNumeric(svar) = True Then
vNr = svar
Else
Exit Sub 'ej numerisk
End If
End If
If vNr = 0 Then
If tomRæk > 0 Then
ræk = tomRæk
Else
ræk = antalRæk + 1
End If
Else
ræk = vNr
End If
xlsKontrakt.Activate
Rem Tabellen udfyldes i den orden, som sponsorlisten foreskriver
tabel(0) = Range("C105") + Range("C111") 'beløb *)
tabel(1) = Range("C30") 'navn
tabel(2) = Range("C31") 'adresse
tabel(3) = Range("C35") 'CVR/SE
tabel(4) = Range("C32") 'kontakt
tabel(5) = Range("C33") 'tlf
tabel(6) = Range("C34") 'email
tabel(7) = Range("D41") 'fra dato
tabel(8) = Range("D42") 'til dato
tabel(9) = Range("D46") 'genforh.dato
tabel(10) = "" 'logo-sti
xlsSP.Activate
With ActiveWorkbook
For x = 0 To 10
Range("A" & ræk).Offset(0, x) = tabel(x)
Next x
End With
Rem Luk sponsorliste
xlsSP.Save
xlsSP.Close
Set xlsSP = Nothing
End Sub
Private Function findTomRække()
Dim ræk
For ræk = 3 To antalRæk
If Range("B" & ræk) = "" Then
findTomRække = ræk
Exit Function
End If
Next ræk
findTomRække = 0
End Function
