Lite vajsing är det fortfarande i koden med att hitta raden. Hela koden du
har mellan A1:A1000 och Find ska bort. Det var det vi ersatte med just A1000, dvs att inte gå till sista använda raden i kolumn A.
Textboxen har du fått in rätt där sökningen efter vald INO görs.
Men, i och med att du valt alt 2 så måste en del annat göras om, och för att ändå spara tid och ett dussin extra inlägg så visar jag hur det kan se ut. Men, acceptera inte bara koden utan försök gå igenom och se vad den gör så du hänger med.
If TxtInoNr.Text <> "" Then
rad = Range("A1:A1000").Find(What:=TxtInoNr.Text, LookIn:=xlValues, LookAt:=xlWhole).Row
Else
rad = Cells(Rows.Count, 1).End(xlUp).Row
nr = Mid(Cells(rad, 1).Value, 7) + 1
rad = rad + 1
Cells(rad, 1) = "Ino-NR" & nr
End If
Som pseudokod beskrivs koden som följande:
OM Textrutan för InoNr ej är tom DÅ GÄLLER
variabeln rad blir det radnummer där
innehållet i TxtInoNr påträffas i
cellområdet A1:A1000
ANNARS
variabeln rad blir det radnummer där
sista inskrivna InoNr är, i kolumn A
variabeln nr ges det numeriska värdet
ur sista inskrivna InoNr plus 1 (här bör egentligen Clng användas, vilket konverterar text till tal innan vi plussar med 1, men excel fattar).
variabeln rad ökas med 1 för att peka
på raden efter som är tom (alltså första lediga)
denna lediga rad får det nya InoNr inskrivet i kol A
SLUT
Dessutom, variabeln rad används nu för samtliga inskrivningar som följer i koden efter ovanstående kod.
Antingen ett påträffat InoNr, eller en ny ledig rad för nytt ärende.
Du har dock ännu inte ändrat på
ws.Cells(rad, 1) = TxtInoNr.Text
Det nya InoNr skrivs nu in med den nya kod du fått, och det borde stå något som skriver in ärendetexten istället, dvs det som ska in på kol 4-20.
T ex, ws.Cells(rad, kol) = txtÄ1.Text
(eller vad din ärendetext heter som objekt).
Nu tror jag du är nära. Med "spara" i alla fall.