solbulleMedlem sedan mars 20015 287 inlägg Ok, nytt problem...
Har ett ark där jag i en cell fyller i ett artikelnummer o mha "LETARAD"
I en annan cell skrivs då artikelnamnet ut.
=OM(A12<>0;OM(ÄRTEXT(LETARAD(A12;PRISER!$B$8:$C$212;2;FALSKT));LETARAD(A12;PRISER!$B$8:$C$212;2;FALSKT);LETARAD(RENSA(A12);PRISER!$B$8:$C$212;2;FALSKT));"")
Men om artikelnummret saknas/är felaktigt får jag upp: #Saknas!
Det gör mig inget iofs MEN... om jag sen markerar denns cell där det står #Saknas! körs min VBA-kod och jag får ett felmeddelande som lyder:
Körfel nr 13
Inkompatibla typer
Detta pekar på en sub:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[b]If ActiveCell = Range("i3") Then[/b]
'osv
Alltså pga, vad jag förstår, just för att det är ett knasvärde i den cellen. (Alltså den som är aktiv just för stunden.)
Vet att jag råkat ut för liknande grejer tidigare där just dylika "värden" ställt till det för mig, men det hjälper mig inte nu.
Så frågan lyder, kan jag få bort felmeddelandet från början, eller kan jag åtgärda min SelectionChange?
solbulleMedlem sedan mars 20015 287 inlägg Hm...
On Error Resume Next
If ActiveCell = Range("i3") Then
If Err.Number = 13 Then
Err.Clear
End If
solbulleMedlem sedan mars 20015 287 inlägg Ska man kanske peta in ett:
On Error GoTo 0
där någonstans sen för att "sätta på" felchecken igen?
Eller är detta totalfusk från start kanske? :)
solbulleMedlem sedan mars 20015 287 inlägg Så här blev det, inte helt optimalt eftersom man får bara felmeddelandet om man markerar raden, vilket iofs är väldigt troligt.
On Error Resume Next
If ActiveCell = Range("i3") Then
If Err.Number = 13 Then
Err.Clear
artnr = Range("A" & Target.Row).Value
Range("A" & Target.Row).Value = ""
msg = "Artikel med art.nr " & artnr & " saknas!" & vbCrLf
msg = msg & "Kontrollera artikelnummret samt att listan är uppdaterad."
MsgBox msg, vbExclamation, "Artikelnummerfel."
End If
On Error GoTo 0
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Set Target = Me.Range("I3")
If Not Intersect(ActiveCell, Target) Is Nothing And Val(Target.Value) Then
MsgBox "Koden kan köras!"
End If
End Sub
solbulleMedlem sedan mars 20015 287 inlägg Jo, det där fungerade givetvis bra. Tackar.