Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 首先搜索并替换随机单元格文本:_Excel_Text_Replace_Cell - Fatal编程技术网

Excel 首先搜索并替换随机单元格文本:

Excel 首先搜索并替换随机单元格文本:,excel,text,replace,cell,Excel,Text,Replace,Cell,我有一大堆行(100K+)来搜索和修改内容 例如,单元格包含与DGC9610411:DB:10:82相似的文本 所有这些文本每行都可以更改,除了:对我来说意味着什么 在这一行和每隔一行中,我需要删除第一行:和后面的所有文本,以便单元格看起来像DGC9610411 接下来,我将在末尾添加另一个单元格的内容。我认为这将是一个简单的步骤,我很可能不费吹灰之力就能弄明白 我在每一行的while循环中都有这段代码。因此,代码一次只查看一行 我已经搜索过了,但每个人似乎都有不同的需求。试试这个小宏: Sub

我有一大堆行(100K+)来搜索和修改内容

例如,单元格包含与DGC9610411:DB:10:82相似的文本

所有这些文本每行都可以更改,除了:对我来说意味着什么

在这一行和每隔一行中,我需要删除第一行:和后面的所有文本,以便单元格看起来像DGC9610411

接下来,我将在末尾添加另一个单元格的内容。我认为这将是一个简单的步骤,我很可能不费吹灰之力就能弄明白

我在每一行的while循环中都有这段代码。因此,代码一次只查看一行

我已经搜索过了,但每个人似乎都有不同的需求。

试试这个小宏:

Sub colonoscopy()
    Dim c As String
    Dim r As Range, I As Long
    For Each r In ActiveSheet.UsedRange
        v = r.Value
        I = InStr(1, v, ":")
        If I > 0 Then
            r.Value = Mid(v, 1, I - 1)
        End If
    Next r
End Sub

只需使用查找和替换,不需要vba或公式

  • 选择包含需要修改的数据的列
  • 按Ctrlh打开“查找和替换”对话框
  • 在“查找内容:”字段中,键入
    :*
  • 在“替换为:”字段中,将其留空
  • 单击“全部替换”
  • 编辑:如果必须是VBA,这个简单的宏将完成同样的任务。确保将
    A
    更改为实际的列字母

    Sub tgr()
    
        Columns("A").Replace ":*", ""
    
    End Sub
    
    编辑:根据要求,我正在添加公式解决方案。在单元格B1中并向下复制:

    =LEFT(A1,FIND(":",A1&":")-1)
    

    很不错的!我没有意识到Replace方法支持通配符。是的,如果你真的想在VBA中做同样的事情:
    Columns(“A”)。Replace:*“,”
    我必须使用VBA,因为我正在用这些数据执行大量其他命令。我检查这是正确的答案,因为我使用了你的第二个建议栏(“A”)。替换:“*”,“效果很好。非常感谢。