Für ADO ist ein anderes Vorgehen erforderlich:

Eine Verbindung benötigt man nur 1 mal:

dim MyCnn as new ADODB.Connection
MyCnn.ConnectionString = "Provider=A400;Data Source=192.168.4.100;User ID='ich';"
MyCnn.Open

Für Kommandos benötigt man ein Command:

Dim MyCmd as new ADODB.Command
MyCmd.Commandtext = "UPDATE TMT.AUH A SET A.TEF = ? WHERE A.NL = 11 and A.SN= ?"
set MyCmd.ActiveConnection=MyCnn

Man beachte die "?", die ergeben dann Parameter:

dim xRecords as long

For n = 2 To intCol
MyCmd(1) = Cells(n, 4)
MyCmd(0) = Cells(n, 5)
MyCmd.Execute, xRecords, adExecuteNoRecords
if xRecords>0 then
' Update erfolgreich
endif
next

MyCnn.Close

Den Laufbalken würde ich mir sparen bzw. nur alle 100 Sätze mal refreshen.

Ansonsten empfehle ich gerne mein Uplaod/400 für Excel.