用vba 写 判断从D2开始是否有加号,没加号在C2开始对应单元格输入“童短裤”,有的话,有几个就对应C2开始输入“TDK加一个”
时间: 2024-05-11 15:18:55 浏览: 11
可以使用下面的VBA代码实现:
```
Sub CheckAddition()
Dim i As Integer
Dim cell As Range
For i = 2 To Range("D" & Rows.Count).End(xlUp).Row
If InStr(1, Range("D" & i), "+") = 0 Then
Range("C" & i) = "童短裤"
Else
For Each cell In Range("D" & i).Characters
If cell.Text = "+" Then
Range("C" & i + cell.Start - Range("D" & i).Start) = "TDK加一个"
End If
Next cell
End If
Next i
End Sub
```
这段代码会从第2行开始循环,判断D列中的单元格是否有加号。如果没有,则在对应的C列单元格中输入“童短裤”,如果有,则在对应的C列单元格中输入“TDK加一个”,并根据加号的位置确定要输入的单元格。
相关问题
帮我写一个vba function ,判断输入的单元格是否包含“补强”,如果有就返回1
当然可以!以下是一个VBA函数的示例代码,用于判断输入的单元格是否包含"补强",如果有就返回1:
```vba
Function CheckReinforce(cell As Range) As Integer
If InStr(1, cell.Value, "补强") > 0 Then
CheckReinforce = 1
Else
CheckReinforce = 0
End If
End Function
```
你可以将以上代码复制粘贴到你的VBA编辑器中,并在需要的地方调用该函数。例如,在Excel中添加一个新的模块,然后在单元格中使用`=CheckReinforce(A1)`来判断A1单元格是否包含"补强"。
请注意,该函数使用了VBA的`InStr`函数来判断字符串中是否包含指定的子字符串。如果找到了子字符串,则返回它在字符串中的位置;如果未找到,则返回0。以上代码中,如果找到了"补强",则返回1,否则返回0。
vba如何判断某一列从第二行开始是否有内容?
你可以使用VBA中的IsEmpty函数来判断某个单元格是否为空。结合循环遍历整个列,就可以判断该列从第二行开始是否有内容。下面是一个简单的示例代码:
```
Sub CheckColumn()
Dim lastRow As Long
Dim i As Long
lastRow = Cells(Rows.Count, "A").End(xlUp).Row ' 获取A列最后一行的行号
For i = 2 To lastRow ' 从第二行开始遍历
If Not IsEmpty(Cells(i, "A")) Then ' 判断单元格是否为空
MsgBox "第" & i & "行有内容"
Exit Sub ' 找到有内容的行后退出循环
End If
Next i
MsgBox "该列从第二行开始都是空的"
End Sub
```
在上面的代码中,我们首先使用Cells函数和Rows.Count属性来获取A列最后一行的行号。然后使用For循环遍历从第二行到最后一行的所有单元格。在循环中,我们使用IsEmpty函数判断当前单元格是否为空。如果不为空,就弹出一个消息框提示该行有内容,并退出循环。如果循环结束后仍然没有找到有内容的行,则弹出一个消息框提示该列从第二行开始都是空的。