所以这可能有点令人困惑。
我正在试图找出如何获得excel来显示单元格的文本,或者如果原始单元格为空,则移动到另一列。
换句话说,如果A1有“狗”,我希望它显示“狗”。但如果A1是空白的,我希望它检查C1。如果C1中有“Cat”,我希望它显示“Cat”。如果C1是空白的,我希望它检查E1 ......等等。
这可能吗?
谢谢!
答案 0 :(得分:0)
我认为每个人都过分思考这一点。完全没有理由使用VBA。只需使用Excel公式IF
和ISBLANK
的组合。
=IF(ISBLANK(A1),IF(ISBLANK(C1),E1,C1),A1)
答案 1 :(得分:-1)
尝试这样的事情:
Option Explicit
Sub A()
Dim rng As Range, cell As Range
Set rng = Range("A1:G2")
Dim jump As Boolean
jump = False
For Each cell In rng
If jump = False Then
If (cell.Value <> "") Then
MsgBox ("Contents of cell at row:" & cell.Row & "," & cell.Column & vbCrLf & "is:" & vbCrLf & cell.Value)
Else
'if A1 has "Dog", I want it to display "Dog". But if A1 is blank, I want it to check C1
jump = True
End If
Else
jump = False
End If
Next cell
End Sub
答案 2 :(得分:-1)
这是一种可行的方法。请记住,在没有输入的情况下它不会中断,因此一旦到达表的末尾就会抛出错误。
Sub ShowText()
Dim rngStart As Range
Dim strResult As String
Const OFFSET_VALUE As Integer = 2
Set rngStart = ActiveSheet.Range("A1")
strResult = ""
Do
strResult = rngStart.Value
Set rngStart = rngStart.Offset(, OFFSET_VALUE)
Loop While strResult = ""
MsgBox strResult
End Sub
答案 3 :(得分:-1)
这似乎有效:
Range("A1").Select
Do While IsEmpty(Selection.Value)
Selection.Offset(0, 2).Select
Loop
MsgBox Selection.Value