list1
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrorHandler
Dim cell As Range, kod As String, nazev As String, dt As Variant, mat As String, 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 Trim(cell.Value) <> "" Then
' Převede diakritiku a přepíše hodnotu v buňce A
kod = ConvertCzechChars(cell.Value)
cell.Value = kod
' Sloupec B: Název dílu
nazev = RozpoznejDMC(kod)
cell.Offset(0, 1).Value = nazev
' Sloupec C: Datum
dt = ExtractDatum(kod)
cell.Offset(0, 2).Value = dt
cell.Offset(0, 2).NumberFormat = "dd.mm.yyyy"
' Sloupec D: Číslo materiálu
mat = ExtractKod(kod)
cell.Offset(0, 3).Value = mat
' Sloupec E: Pořadí
poradi = ExtractPoradi(kod)
cell.Offset(0, 4).Value = poradi
Else
cell.Offset(0, 1).ClearContents
cell.Offset(0, 2).ClearContents
cell.Offset(0, 3).ClearContents
cell.Offset(0, 4).ClearContents
End If
Next cell
Application.EnableEvents = True
End If
Exit Sub
ErrorHandler:
Application.EnableEvents = True
MsgBox "Chyba: " & Err.Description, vbCritical
End Sub