Hm, ich hatte ab und zu auch ein paar Probleme bei der Registerauswahl, jedoch eigentlich nur dann, wenn sich die Anzahl der Register verändert haben und damit die Adresse nicht mehr übereingestimmt hat. Habe das dann so gelöst
Registername = "Zentrale Daten"
For t = z To 1 'Erste Registerzahl
For k = x To 9 'zweite Registerzahl
register_Tab = "tabpSCREEN_1100_TAB_" & t & k 'Register zusammengesetzt
register_Dynpro = Session.FindById("wnd[0]/usr/subSCREEN_3000_RESIZING_AREA:SAPLBUS_LOCATOR:2036/subSCREEN_1010_RIGHT_AREA:SAPLBUPA_DIALOG_JOEL:1000/ssubSCREEN_1000_WORKAREA_AREA:SAPLBUPA_DIALOG_JOEL:1100/ssubSCREEN_1100_MAIN_AREA:SAPLBUPA_DIALOG_JOEL:1101/tabsGS_SCREEN_1100_TABSTRIP/" & register_Tab).Text ' RegisterID
If register_Dynpro = Registername Then
Session.FindById("wnd[0]/usr/subSCREEN_3000_RESIZING_AREA:SAPLBUS_LOCATOR:2036/subSCREEN_1010_RIGHT_AREA:SAPLBUPA_DIALOG_JOEL:1000/ssubSCREEN_1000_WORKAREA_AREA:SAPLBUPA_DIALOG_JOEL:1100/ssubSCREEN_1100_MAIN_AREA:SAPLBUPA_DIALOG_JOEL:1101/tabsGS_SCREEN_1100_TABSTRIP/" & register_Tab).Select
GoTo Erfassung
End If
Next
x = 0 'Wichtig, weil sonst Registernummer 10 übersprungen werden würde
Next