list
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrorHandler
Dim cell As Range, kod As String, nazev As String, dt As Date, poradi As String
If Not Intersect(Target, Me.Range("A:A")) Is Nothing Then
Application.EnableEvents = False
For Each cell In Intersect(Target, Me.Range("A:A"))
If cell.Value <> "" Then
' Načteme původní hodnotu a převedeme české znaky na číselný kód
kod = cell.Value
kod = ConvertCzechChars(kod)
' Přepíšeme buňku A převedenou hodnotou
cell.Value = kod
' Sloupec B: Název dílu (podle vyhledávání v datech ve sloupcích F a G)
nazev = RozpoznejDMC(kod)
cell.Offset(0, 1).Value = nazev
' Sloupec C: Datum (převedeno pomocí ExtractDatum)
dt = ExtractDatum(kod)
cell.Offset(0, 2).Value = dt
cell.Offset(0, 2).NumberFormat = "dd.mm.yyyy"
' Sloupec D: Číslo materiálu (podle hodnoty ve sloupci H)
cell.Offset(0, 3).Value = ExtractKod(kod)
' Sloupec E: Pořadí
cell.Offset(0, 4).Value = ExtractPoradi(kod)
End If
Next cell
Application.EnableEvents = True
End If
Exit Sub
ErrorHandler:
Application.EnableEvents = True
MsgBox "Chyba: " & Err.Description, vbCritical
End Sub