Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vba Excel-仅选择文本框中的最后一个字符_Vba - Fatal编程技术网

vba Excel-仅选择文本框中的最后一个字符

vba Excel-仅选择文本框中的最后一个字符,vba,Vba,我有一张表格,可以在上面输入订单。其中一个字段是订单号文本框。现在很多人都知道,订单号可能很长,而且它们大部分都是数字形式的(我曾经读过的do-Maly)。因此,我想在orders文本框中添加tab键,让它只突出显示最后一个编号(我输入的上一个订单编号仍在文本框中),这样,如果编号为5467245,然后它只会突出显示数字5,我只需按6即可将数字更改为4567246 PS:我曾考虑过在订单号上自动添加+1,但有时他们会跳过一个数字,然后我不得不按7,而不是按上面的示例中的6 根据这个答案,我现在得

我有一张表格,可以在上面输入订单。其中一个字段是订单号文本框。现在很多人都知道,订单号可能很长,而且它们大部分都是数字形式的(我曾经读过的do-Maly)。因此,我想在orders文本框中添加tab键,让它只突出显示最后一个编号(我输入的上一个订单编号仍在文本框中),这样,如果编号为
5467245
,然后它只会突出显示数字
5
,我只需按
6
即可将数字更改为
4567246

PS:我曾考虑过在订单号上自动添加+1,但有时他们会跳过一个数字,然后我不得不按
7
,而不是按上面的示例中的
6

根据这个答案,我现在得到的是:

但它只在我用鼠标点击文本框时起作用(所以它实际上起作用,但只在鼠标点击时起作用),尽管作者说当我点击文本框时它会起作用,但当我点击文本框时它不起作用(这可能是因为我不想突出显示整个值,如他的示例所示)。我真的需要它来处理tab键


这就是问题所在-当我在文本框中设置tab键时,如何使其工作?我发现您的代码在
Enter
事件中工作,控件
EnterFieldBehavior
属性设置为
1-fmEnterFieldBehaviorRecallSelection

Private Sub txtb_orderNumber_Enter()
    With Me.txtb_orderNumber
        If Len(.Text) > 0 Then
            .SelStart = Len(.Text) - 1
            .SelLength = 1
        End If
    End With
End Sub

@Darren更干净更好的解决方案!我尝试了
\u Enter
,但后来那篇帖子说它不能与
.setFocus
一起使用。所以谢谢你,工作得很好!
Private Sub txtb_orderNumber_Enter()
    With Me.txtb_orderNumber
        If Len(.Text) > 0 Then
            .SelStart = Len(.Text) - 1
            .SelLength = 1
        End If
    End With
End Sub