Hallo,
ich wüsste nicht, warum da was zweimal incrementiert werden sollte. Bei jedem Schleifendurchgang (nicht Schlaufe) wird jede Textbox nur einmal angesprochen.
Tipp: Du solltest auch entsprechende Variabelnbezeichungen nehmen, Sh deutet mehr auf ein Sheet als auf eine Textbox hin.
Das mit dem Goto kannst Du dir auch sparen, selbst wenn da noch code zukommen sollte.
Dieses Makro hier läuft bei mir tadelos durch.
Code:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15 |
|
Const f = 1
Sub Test()
Dim TB As TextBox, Rng As Range
Dim i As String
i = ActiveCell.Row
Set Rng = Range("J" & i & ":IT" & i)
For Each TB In ActiveSheet.TextBoxes
If Not Intersect(TB.TopLeftCell, Rng) Is Nothing Then
If TypeOf TB Is TextBox Then TB.ShapeRange.IncrementLeft f
End If
Next TB
End Sub
|
_________
viele Grüße
Karl-Heinz
|