【原创】VBA(实验23)如何去掉一列中的空格,多种工作表函数方法以及VBA方法

您所在的位置:网站首页 word怎么删除不可见字符的空格符号 【原创】VBA(实验23)如何去掉一列中的空格,多种工作表函数方法以及VBA方法

【原创】VBA(实验23)如何去掉一列中的空格,多种工作表函数方法以及VBA方法

2024-07-14 02:43| 来源: 网络整理| 查看: 265

 

 

问题

左上角为a1

比如其中,key2 ,key4, key6 后面都可能带空格

 

key1key2 key3key4  key5key6   key7key8key9key10key11key12key10key10key10key12key12

 

VBA方法

所有的工作表函数,都是针对单元格的? --也就是基本都得用循环

数组公式不是吧

 'trim居然没生效,末尾空格也没去掉

好像trim是 VBA自带函数?不是工作表函数?

应该要修改value

Sub 删除空格() 'trim居然没生效,末尾空格也没去掉 Dim target1 As Object Dim i As Object Set target1 = ActiveSheet.Range("a1:a17") '是一个二维数组 For Each i In target1 Application.WorksheetFunction.Trim (i) 'Application.WorksheetFunction.Trim (target1) trim是针对cell的 Next i End Sub

查找资料

Selection.CurrentRegion.Select For Each c In Selection c.Value = Trim(c.Value)

不能用TRIM函数,不然全部空格都会删除。 要用LTRIM函数、RTRIM函数组合使用。 LTRIM() 是去除字符首位的空格(不论有几个空格) RTRIM() 是去除字符尾部的空格(不论有几个空格) 如二楼的回答,把Trim(c.Value) 改成 LTrim(RTrim(c.Value)) 即可。

一个单元格的怎么写? 比如:去掉ActiveSheet.Cells(1, 1)的话怎么写?

Sub test()     a = "   ax aa    b b   "     Debug.Print Trim(a)     Debug.Print Application.WorksheetFunction.Trim(a) End Sub 结果 ax aa    b b ax aa b b 我知道了,trim()和Application.WorksheetFunction.Trim()不一样

工作表函数中间的空格只保留一个

 

Sub Oval1_Click33()

Dim n, m, i

For n = 1 To 10

 i = 1

 m = ""

 While i Len(Cells(n, 1)) + 1

 If Asc(Mid$(Cells(n, 1), i, 1)) > 33 Then

 m = m & Mid$(Cells(n, 1), i, 1)

 

 

 End If

  i = i + 1

  Wend

 Cells(n, 1) = m

 

Next

End Sub

 

'替换整个文档范围的

ThisDocument.Content.Text = Replace(ThisDocument.Content.Text, vbCrLf, "")

'替换选中范围的

Selection.Range.Text = Replace(Selection.Range.Text, vbCrLf, "")

 

vbcrlf 

char(10)

char(10)&vbtab 

这样都可以吗?

 

 

仿造别人写的

Sub 删除空格() Dim target1 As Object Dim cell_i As Object Set target1 = ActiveSheet.Range("a1:a17") For Each cell_i In target1 cell_i.Value = Trim(cell_i.Value) Next cell_i End Sub

 

Sub 删除空格() Dim target1 As Object Dim cell_i As Object Set target1 = ActiveSheet.Range("a1:a17") For Each cell_i In target1 cell_i.Value = Application.WorksheetFunction.Substitute(cell_i.Value, " ", "") Next cell_i End Sub

 

 

  工作表函数方法

去掉单元格内所有的空格

=SUBSTITUTE(A1," ","")

去掉首尾空格

=TRIM(A1)   去掉所有非打印字符

=CLEAN(A1)

 

 

有人做了统计,牛逼了,这个图是转的

 

 

后面这部分内容是转的

excel表格中怎么删除看不见的空格或符号?

方法一:各种处理方法对空格和不可见符号的处理能力对比

  1、对比如图

  方法二:用LEN函数判断看不见的空格和符号是否被删除。

  1、用LEN函数计算单元格字符个数

  因为是看不见的空格或者符号,我们无法用肉眼来判断是否删除成功,这时我们需要用LEN函数来辅助判断。比如在空白单元格B2中输入“=LEN(A2)”,就能计算出A2单元格中字符的个数。用LEN函数计算处理前和处理后的单元格字符个数,就能判断出是否删除成功了。

  方法三:使用TRIM函数去除空格

  1、TRIM函数的语法格式及实例

  =trim(text),用来删除字符串前后的空格,但是会在字符串中间保留一个作为连接用途。实例解说如图

  方法四:用替换法去除空格

  1、选中要替换的G列,点击EXCEL软件的菜单栏中的“编辑”,在下拉菜单中点击“替换”,在弹出窗口中点击“选项”。在查找内容框中,输入空格,在替换中不要输入。点击“选项”,以便更详细地设置。

    2、搜索框中选“按列”,区分大小写、单元格匹配、区分全/半角的前面不要选择,最后点击全部替换,就能把整列替换成无空格了。用查找替换法需要知道要查找的内容,但因为是不可见空格或符号,所以只能替换空格,而无法替换其它不可见符号。

  方法五:使用CLEAN函数去除符号

  1、CLEAN函数的语法格式及实例

  =CLEAN(text),要从text中删除非打印字符的任何工作表信息。CLEAN 函数被设计为删除文本中 7 位 ASCII 码的前 32 个非打印字符(值为 0 到 31)。实例解说见图。

  方法六:使用SUBSTITUTE函数去除空格和符号

  1、SUBSTITUTE函数语法及实例

  =substitute(text,old_text,new_text,[instance_num])

  =substitute(需要替换的文本,旧文本,新文本,第N个旧文本)

  参数Instance_num ——为一数值,用来指定以 new_text (新文本)替换第几次出现的 old_text(旧文本)。

  参数Instance_num 可省略,这表示用 new_text(新文本)替换掉所有的old_text(旧文本)。

  实例解说如图



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3