vba换行符代码?敲了回车才算是输入到单元格内了,才能判断单元格内的数据是否达到30个字符,如果还是编辑状态,单元格内实际是不存储内容的,所以也无法判断单元格内的字符是否达到30个。那么,vba换行符代码?一起来了解一下吧。
Sub replaceA()Dim rng As Range, sr For Each rng In ActiveSheet.Range("A1").CurrentRegion If InStr(rng, "/") Then sr = Replace(rng, "/", vbCrLf, , 1) '换成换行符 'sr = Replace(rng, "/", "...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim str1, str2
If Target.Count = 1 Then
str1 = Target.Value
For x = 1 To Len(str1) Step 2
If str2 = "" Then
str2 = Mid(str1, x, 2)
Else
str2 = str2 & Chr(10) & Mid(str1, x, 2)
End If
Next x
Application.EnableEvents = False
Target.Value = str2
Application.EnableEvents = True
End If
End Sub
在工作表的任意单元格中输入完成后,自动每两个字符强制换行
如果你只需要前面两个字符换行,后面的不换行,代码修改如下
Private Sub Worksheet_Change(ByVal Target As Range)
Dim str1
If Target.Count = 1 Then
str1 = Target.Value
str1 = Left(str1, 2) & Chr(10) & Mid(str1, 3, Len(str1))
Application.EnableEvents = False
Target.Value = str1
Application.EnableEvents = True
End If
End Sub
敲了回车才算是输入到单元格内了,才能判断单元格内的数据是否达到30个字符,如果还是编辑状态,单元格内实际是不存储内容的,所以也无法判断单元格内的字符是否达到30个。
假设你的数据在A列,从A1开始.我们可以这么些VBA
Sub aa()
Dim i, a, b, c'定义变量
For i = 1 To Range("A65536").End(xlUp).Row'循环A列所有有数据的区域
c = Cells(i, 1).Value '取得当前单元格的值给c
b = Left(c, InStr(c, " "))'截取单元格中的日期给b
a = Right(c, Len(c) - InStr(c, " "))'截取单元格中的时间给c
Cells(i, 1) = b & vbCrLf & a'在日期和时间加上换行符vbcrlf,再写入当前单元格
Next
End Sub
请参考以下代码,希望对您有帮助:
Sub replaceA()
Dim rng As Range, sr$
For Each rng In ActiveSheet.Range("A1").CurrentRegion
If InStr(rng, "/") Then
sr = Replace(rng, "/", vbCrLf, , 1) '换成换行符
'sr = Replace(rng, "/", ".", , 1)'换成点
rng.Value = sr
End If
Next
End Sub
以上就是vba换行符代码的全部内容,1、首先打开Excel2013版软件按下组合键Alt+F11切换到VBA界面,在VBA中点击菜单栏中的插入,选择下拉菜单中的模块插入一个模块:3、在新建的模块中输入代码,设置一个msgbox窗体,这里代码中“ Chr(13) ”即代表回车换行符:3、接着在vba中点击运行子程序的用户窗体按钮。