首页 \ 问答 \ 从列中的单元格中删除多余的空格(Remove extra spaces from cells in column)

从列中的单元格中删除多余的空格(Remove extra spaces from cells in column)

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

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

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列上扫描

在此处输入图像描述


I wrote the following code to do inventory scanning bar-codes but for some reason when I scan the bar-code it is adding extra spaces in the cells and the result are not showing up as expected.

How do I remove the extra spaces from the cells in column?

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

Barcode will be scan on column A

enter image description here


原文:https://stackoverflow.com/questions/30230269
更新时间:2023-03-22 20:03

最满意答案

如果它有一个或多个空格作为输入,则您的条件将失败。

你应该总是trim()然后检查长度是否为0

user.trim().length==0

另外如果要检查内容,请始终使用equals而不是==


Your condition will fail if it has one or more spaces as inputs.

You should always trim() and then check if the length is 0

i.e

user.trim().length==0

also If you want to check contents always use equals instead of ==

相关问答

更多
  • 关于什么 if ( [string length] <= 0 ) what about if ( [string length] <= 0 )
  • 假设您无法检查数据库中出现的数据库是否存在空值,您可以执行类似的操作 var myText = txt_field.getText(); if(myText != null && myText.length > 15) { // do stuff } Assuming you cannot check the database coming out of the database for nullness, you could do something like var myText = txt_ ...
  • 你应该使用“==”代替调用equals来检查null,而不是: if (svar.getText() == null) { 你得到NPE(NullPointerException)的原因是,因为你说svar.getText()为null,你试图在null上调用equals和NPE的原因。 Instead of calling equals to check for null, you should use "==" like: if (svar.getText() == null) { Reason ...
  • 这是一个错误,与“从场景图中删除节点”有关。 它仍然没有修复,计划在Open JFX 11中发布。我不确定何时可以期待发布,因为JavaFX正在从JDK中分离出来,而且这个问题已经开放两年了。 该票包括一个最小的例子,所以可能最好的你可以希望找到一个相关性,如何操纵场景图和解决问题。 请参阅: https : //bugs.openjdk.java.net/browse/JDK-8163078 It's a bug, related to "removing a Node from the scene gr ...
  • 通过删除提交并将INSERT添加到格式良好的方法来修复它: @FXML private void handleSaveNewShop(ActionEvent event) { String name = shopname.getText(); String adress = streetadress.getText(); String city = cityname.getText(); String state = statename.getText(); Str ...
  • textField.getText()返回一个java String 。 Java String是一个Object因此您应该使用equals()方法而不是==来比较字符串。 ==运算符用于比较Java中的基元类型。 为了更好地理解这一点,请查看这个如何比较Java中的字符串? 用于Java中字符串比较的Q / A. 正如我所说,你可以使用textField.getText().equals("")来检查String空白,但它的常见用法是: if (textField.getText() != nu ...
  • 绑定绑定在绑定时绑定到属于当前收件人的属性。 如果recipient的值发生变化,那么,例如, address.textProperty仍将绑定到recipient的先前值的addressProperty() ,而不是新的。 您可以使用收件人上的侦听器绑定和取消绑定控件: recipient.addListener((obs, oldRecipient, newRecipient) -> { if (oldRecipient != null) { type.valueProperty ...
  • 这是因为在将字符添加到文本字段之前调用handle() 。 每次打字时,都会发生以下情况: 调用handle方法,它检查字符,清除文本字段。 然后,文本字段在从方法返回后将字符添加到文本字段。 有一个名为consume()的方法可以阻止事件进一步传播。 只要条件为真,您就可以使用它,这将阻止添加空间。 if (Character.isWhitespace(e.getCharacter().charAt(0))) { System.out.println(field.getText()); fie ...
  • 如果它有一个或多个空格作为输入,则您的条件将失败。 你应该总是trim()然后检查长度是否为0 即 user.trim().length==0 另外如果要检查内容,请始终使用equals而不是== Your condition will fail if it has one or more spaces as inputs. You should always trim() and then check if the length is 0 i.e user.trim().length==0 also ...
  • 例如,有几种方便的方法可以做到这一点 weightTF.setOnKeyPressed(new EventHandler() { @Override public void handle(KeyEvent event) { // do stuff } }); 只要在TextField中按下某个键,就会执行此操作。 您可能想要检查按下的键是否是特定键。 这可以通过以下方式实现 if(event.getCode() == KeyCode.TAB){ ...

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。