VB中如何删除text中的指定行

在text1中第n行为0或空行时删除,同时删除text2和text3中的第n行.例:在text1中第5行为0时,删除text1、text2和text3中的第5行在text... 在text1中第n行为0或空行时删除,同时删除text2和text3中的第n行.
例:在text1中第5行为0时,删除text1、text2和text3中的第5行
在text1中第10行为空行时,删除text1、text2和text3中的第10行
展开
 我来答
hyc_music
2012-01-30 · TA获得超过161个赞
知道答主
回答量:212
采纳率:100%
帮助的人:208万
展开全部
如果你的Text1是自动换行的, 我没办法实现
如果不是, 可以试着这样
dim v
v = split(text1, vbcrlf)
split是一个按特定字符拆分字符串的函数, 返回一个数组, 比如v = split("abc|def|ghi", "|") 可以得到有三个元素的数组v, v(0) = "abc", v(1) = "def", v(2) = "ghi"
上面的写法是使用vbCrlf, 也就是换行符来拆分字符串, 具体怎么样来实现你想要的功能, 我想可以当v(5) = "" 时, 把v(6)赋给v(5), v(7)赋给v(6) ....以此类推, 把v(UBound(v)) 赋给v(UBound(v)-1)然后把数组重新拼成字符串显示在text1里面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
归萱pN
2012-01-30 · TA获得超过990个赞
知道大有可为答主
回答量:1068
采纳率:0%
帮助的人:1500万
展开全部
,Option Explicit
Private Sub Command1_Click()
Dim arr1, arr2, arr3, i As Integer
arr1 = Split(Text1, vbNewLine)
arr2 = Split(Text2, vbNewLine)
arr3 = Split(Text3, vbNewLine)
Text1 = "": Text2 = "": Text3 = ""
For i = 0 To UBound(arr1)
If arr1(i) <> "0" And Trim(arr1(i)) <> "" Then
Text1 = Text1 & arr1(i) & vbNewLine
Text2 = Text2 & arr2(i) & vbNewLine
Text3 = Text3 & arr3(i) & vbNewLine
End If
Next
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
最美乡村行
2012-01-30 · TA获得超过1136个赞
知道大有可为答主
回答量:1191
采纳率:0%
帮助的人:1637万
展开全部
楼上的已经说清楚了,下面是另外一种实现的方法,前提是你的三个text必须同样行数(至少2,3的不能比1的行数少,不然会报错),还有就是上面提到的不是自动换的行,
Private Sub Command1_Click()
t1 = Split(Text1.Text, vbCrLf)
t2 = Split(Text2.Text, vbCrLf)
t3 = Split(Text3.Text, vbCrLf)

For n = 0 To UBound(t1)
If Trim(t1(n)) <> "0" And Trim(t1(n)) <> "" Then
If n < UBound(t1) Then
t1_s = t1_s & t1(n) & vbCrLf
t2_s = t2_s & t2(n) & vbCrLf
t3_s = t3_s & t3(n) & vbCrLf
Else
t1_s = t1_s & t1(n)
t2_s = t2_s & t2(n)
t3_s = t3_s & t3(n)
End If
End If
Next
Text1.Text = t1_s
Text2.Text = t2_s
Text3.Text = t3_s
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式