2017-06-06 282 views
0

你能帮我解决这个问题吗?在Excel中看起来是这样的:VBA Excel根据一个单元格的内容更改另一个单元格的内容

Excel Workbook

我希望自动化2项任务:

  1. 当细胞在列C中含有“处理”二字=>明确相应单元格在列A
  2. 内容
  3. 当细胞在列C包含文字“蓝” =>对应于塔B的小区变更为0

我试图胶印机,循环和其他各种方法,但似乎无法得到它的权利。请帮忙。

+0

请您理解,Stack Overflow是不是免费的代码编写的服务,因此,你需要[编辑]你的问题,表明你已经尝试过的代码,(1 )告诉我们你的代码是做什么的,以及你期望它做什么。 (2)如果有任何错误消息,你会得到和在哪里。 (3)你在代码中遇到了哪些问题,以及你遇到了什么困难。 –

+0

如果您的目标已经实现,请接受答案。 (单击答案旁边的绿色复选标记) – PalimPalim

回答

0

使用InStr功能来检查它是否包含子字符串。欲了解更多信息,请看here

+0

感谢您的回答:) –

0
Sub removeprocessed() 
Dim Nlines As Long 
Dim i As Long 
Nlines = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row 
For i = 2 To Nlines 
    If 0 <> InStr(1, Cells(i, 3).Value, "processed") Then 
     Cells(i, 1).Value = "" 
    End If 
    If 0 <> InStr(1, Cells(i, 3).Value, "blue") Then 
     Cells(i, 2).Value = 0 
    End If 
Next 
End Sub 

使用InStr函数所提议的@UGP

+0

(1)如果您发布代码,则应遵循[VBA最佳实践](https://stackoverflow.com/documentation/excel-vba/ 1107/vba-best-practices)指南:例如始终完全限定单元格和范围(2)除非与旧API进行通信,否则不要使用Integer(而是始终使用Long):Excel具有比Integer可处理更多的行。 (3)将一个值设置为字符串'.Value =“0”'不是一个好主意,而应该使用'.Value = 0'(4)我知道你只是想帮忙,但我认为我们不应该回答那些是因为只询问代码而无关紧要。 –

+0

@PalimPalim非常感谢您的帮助。非常感谢 –

+0

@Peh注意到这些。我很抱歉,因为我是该网站的新手。 –

相关问题