如何根据同一行中的特定文本将单元格中的文本数据复制到另一个单元格?

时间:2016-03-10 11:44:35

标签: excel vba excel-vba

在我的Excel工作表中,我在5列中有5000行,A,B,C,D,E。 A列是一个6位数的内部版本号,它有所不同,B,C,D,E列有一个下拉框,您可以选择完整或不足。

我想要实现的是仅在B,C,D,E列中选择短缺时,将特定文本(构建号)从各个单元格中的A列复制到单元格H4,I5,J6等。当从短缺中选择完成时从这些单元中移除。

参见示例

Trim Shop                   Shortages                           
Seat Build Sequence Log             Build Number                                                        246125 123456                                       

Build Number    Drivers Passengers  Drivers Passengers                                  
246125  COMPLETE    COMPLETE    COMPLETE    SHORTAGE                                    
245874  COMPLETE    COMPLETE    COMPLETE    COMPLETE                                    
123456  COMPLETE    SHORTAGE    COMPLETE    COMPLETE                                    

3 个答案:

答案 0 :(得分:0)

Sub copyvalues()
    For i = 1000
        If Range("B" & i).Value = Shortage or Range("C" & i).Value = Shortage_
                 or Range("D" & i).Value = Shortage or Range("E" & i).Value = Shortage _
                 Then Cell('Enter destination here, by using a formula for i').Value = ("A" & i)
        End If
    Next i
End Sub`

答案 1 :(得分:0)

条件副本的公式很简单:

=IF(B4="SHORTAGE";$A4;"")

并给出以下结果:

enter image description here

但在我看来,你对复制目的地(H4,I5,J6)有一些特殊要求,这对我来说并不完全清楚。

你能更好地澄清小区目的地标准吗?

答案 2 :(得分:0)

如果您可以在现有列的右侧再使用4列,则可以输入以下公式:

=IF(B5="COMPLETE", "COMPLETE", $A5)

这假设你的数据在单元格A5中开始,这个公式应该粘贴到单元格F5中,拖到I5然后向下复制,无论你需要多少行。