vba - 从列中的单元格中删除多余的空格

标签 vba excel excel-2010

我编写了以下代码来进行库存扫描条形码,但由于某种原因,当我扫描条形码时,它在单元格中添加了额外的空格,结果未按预期显示。

如何从列中的单元格中删除多余的空格?

Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

    If Target.Cells.Count > 1 Or IsEmpty(Target) Or Target.Column <> 1 Then Exit Sub

    If Not SheetExists("WarehouseInventory") Then Exit Sub

    Dim result As Variant

    Set result = Sheets("WarehouseInventory").Cells.Range("E:E").Find(Target)

    If result Is Nothing Then
       Target.Worksheet.Cells(Target.Row, 2) = "Data Maybe Bin #?"
    Else
        Target.Worksheet.Cells(Target.Row, 2) = result.Worksheet.Cells(result.Row, 4)
        Target.Worksheet.Cells(Target.Row, 3) = result.Worksheet.Cells(result.Row, 5)
        Target.Worksheet.Cells(Target.Row, 4) = result.Worksheet.Cells(result.Row, 6)
        Target.Worksheet.Cells(Target.Row, 5) = result.Worksheet.Cells(result.Row, 7)
    End If

End Sub

Public Function SheetExists(SheetName As String) As Boolean
    Dim ws As Worksheet
    SheetExists = False

    For Each ws In ThisWorkbook.Worksheets
        If ws.Name = SheetName Then SheetExists = True
    Next ws

End Function

将在 A 列上扫描条码

enter image description here

最佳答案

when I scan the barcode it is add extra spaces in the cells and the result are not showing up as expected.



这个想法不是在以后修剪所有单元格,而是在扫描时修剪条形码条目。这是你想要的吗?把它放在相关工作表的代码区域。我假设将在 Col B 到 E 中扫描条形码。
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Whoa

    If Target.Cells.Count > 1 Then Exit Sub

    Application.EnableEvents = False

    '~~> Assuming that the bar code is scanned in B to E
    '~~> If it is Just one column like B then change
    '~~> The code below to
    '~~> If Not Intersect(Target, Columns("B:B")) Is Nothing Then    
    If Not Intersect(Target, Columns("B:E")) Is Nothing Then
        Target.Value = Trim(Target.Value)
    End If

Letscontinue:
    Application.EnableEvents = True
    Exit Sub
Whoa:
    MsgBox Err.Description
    Resume Letscontinue
End Sub

关于vba - 从列中的单元格中删除多余的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30230269/

相关文章:

mysql - 字段列表中的排序顺序错误

sql - 为什么这个 VB 和 SQL 不起作用?

excel - 复制范围值和格式

excel - 如何使单元格值以 Excel VBA 中的其他单元格值为条件?

excel - 如何匹配Excel中不同工作表中的多列

vba - 将整个列(列中的每个值)放入数组中?

xml - 加载 XML 不工作 : Invalid at the top level of the document

excel - 无法通过单元格循环反转列选择

excel - On Error Goto 0 不重置错误捕获

Excel if 语句显示行中是否有任何内容