微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

拆分单元格以填充两个文本框

如何解决拆分单元格以填充两个文本框

我制作了一个包含两个文本框的用户表单。当我点击按钮时,两个文本框统一在一个单元格中。

Dim Dados As String,DadosLen As Integer
With Me
    Dados = .caixanfnum.Text & Chr(10) & .caixanfdata.Text
    DadosLen = Len(.caixanfnum.Text)
End With
With Sheets("-").Cells(linha,4)
    .Font.Bold = False
    .WrapText = True
    .Value = Dados
    .Characters(1,DadosLen).Font.Bold = True
End With

我想把它带回用户表单(我正在尝试制作一个搜索工具)。

如何拆分此单元格以填充两个文本框?

解决方法

对于您的问题,拆分函数应该是最佳解决方案,但您需要一个分隔符。分隔符是字符串(单元格的值)将被拆分的位置的字符。

splitted_text = Split(Sheets("-").Cells(linha,4).Value,"your character")

这将返回一个数组。您使用 splitted_text(0)splitted_text(1)

获得拆分字符串的部分

另一种可行的方法是 leftmidright 函数。 这仅在您在单元格中组合的字符串具有恒定长度时才有效。

first_string=Left(Sheets("-").Cells(linha,5)
second_string=Right(Sheets("-").Cells(linha,5)
middle_string=Mid(Sheets("-").Cells(linha,5,5)

第一个字符串将返回单元格中字符串的 5 个左字符,second_string 将返回字符串中的最后 5 个字符。 middle_string 会给你从字符串中的 5. 位置开始的五个字符,所以它会给你字符 5-9。

,

你可以,

  1. 使用 Split 函数,或
  2. 使用 LeftRightLen 函数

1. Split


Dim TempSplit AS Variant
TempSplit = Split(Sheets("-").Cells(linha,4),Chr(10))
.caixanfnum.Text = TempSplit(0)
.caixanfdata.Text = TempSplit(1)

这将是最直接的方式,也是我的首选方式。

如果您的文本框值中还有其他 Chr(10) 实例;

2.使用 LeftRightLen 函数(英尺 Mid

类似的东西;

.caixanfnum.Text = Left(Sheets("-").Cells(linha,DadosLen)
.caixanfdata.Text = Right(Sheets("-").Cells(linha,Len(Sheets("-").Cells(linha,4)) - DadosLen)

替代 Right 函数,您可以使用 Mid 代替:

Mid(Sheets("-").Cells(linha,DadosLen + 2

我不太喜欢,但会起作用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。