excel中如何获取某一行从右边开始第一个非空单元格的列号?
用宏写出,如果A列某单元格的值等于“科学”则B列对应单元格的值等于此行从最右边开始第一个非空单元格的值,希望能不吝赐教。谢谢...
用宏写出,如果A列某单元格的值等于“科学”则B列对应单元格的值等于此行从最右边开始第一个非空单元格的值,希望能不吝赐教。谢谢
展开
7个回答
展开全部
借别人一句代码:查找同行最后一个非空单元格
[a5] = Range("a1:n1").Find("*", , , , 1, 2).Column
-------------------------------------------------
Sub kk()
Dim i, j As Integer
For i = 1 To Range("A65536").End(xlUp).Row()
If Cells(i, 1) = "科学" Then
j = Range("a" & i & ":" & "iv" & i).Find("*", , , , 1, 2).Column
Cells(i, 2) = Cells(i, j)
End If
Next i
End Sub
[a5] = Range("a1:n1").Find("*", , , , 1, 2).Column
-------------------------------------------------
Sub kk()
Dim i, j As Integer
For i = 1 To Range("A65536").End(xlUp).Row()
If Cells(i, 1) = "科学" Then
j = Range("a" & i & ":" & "iv" & i).Find("*", , , , 1, 2).Column
Cells(i, 2) = Cells(i, j)
End If
Next i
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Sub 填充()
For i = 2 To Range("A65536").End(xlUp).Row()
If Cells(i, 1) = "科学" Then
Cells(i, 2) = Cells(i, 1).Offset(, Cells(i, 256).End(xlToLeft).Column() - 1)
End If
Next
End Sub
代码,假设了你的第一行是标题行。
代码是根据excel2003来写的。
如果你的列数据不超过256,2007也可以用。
For i = 2 To Range("A65536").End(xlUp).Row()
If Cells(i, 1) = "科学" Then
Cells(i, 2) = Cells(i, 1).Offset(, Cells(i, 256).End(xlToLeft).Column() - 1)
End If
Next
End Sub
代码,假设了你的第一行是标题行。
代码是根据excel2003来写的。
如果你的列数据不超过256,2007也可以用。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Sub 提取()
Dim i As Integer
Dim j As Integer
For i = 1 To 10000 Step 1
If Cells(i, 1) = "" And Cells(i + 1, 1) = "" And Cells(i + 2, 1) = "" _
And Cells(i + 3, 1) = "" And Cells(i + 4, 1) = "" And Cells(i + 5, 1) = "" Then Exit For
For j = 256 To 1 Step -1
If Cells(i, 1) = "科学" Then
If Cells(i, j) <> "" Then
If Cells(i, 2) <> Cells(i, j) Then
Cells(i, 2) = Cells(i, j)
End If
Exit For
End If
End If
Next j
Next i
End Sub
Dim i As Integer
Dim j As Integer
For i = 1 To 10000 Step 1
If Cells(i, 1) = "" And Cells(i + 1, 1) = "" And Cells(i + 2, 1) = "" _
And Cells(i + 3, 1) = "" And Cells(i + 4, 1) = "" And Cells(i + 5, 1) = "" Then Exit For
For j = 256 To 1 Step -1
If Cells(i, 1) = "科学" Then
If Cells(i, j) <> "" Then
If Cells(i, 2) <> Cells(i, j) Then
Cells(i, 2) = Cells(i, j)
End If
Exit For
End If
End If
Next j
Next i
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询