簡體   English   中英

將某些值從一個列復制到另一列並刪除原始值

[英]Copy certain values from one to another column and deleting the original value

如果單元格包含單詞IN,我想將值從一列復制到另一列(到同一行)並刪除原始值。 如果不是,則代碼應繼續進行下一行並執行新的測試。 因此,目標列中的單元格將保持為空。

當我在Excel中運行代碼時,什么也沒發生,所以我不知道出什么問題了。

理想情況下,代碼應該跳到下一個列(8)並進行相同的搜索,然后在將第一列完成后將值粘貼到同一列(5)中,但是我還沒有開始。 因此,我也非常感謝您提供提示:)

Sub Size()
    Dim i As Integer, a As String
    i = 2
    a = "IN"

    Do While Cells(i, 7).Value <> ""
        If InStr(Cells(i, 7), a) Then
            'copying the value to another column but within the same row
            Cells(i, 7).Copy Cells(i, 5) 
            Cells(i, 7).Clear
            i = i + 1
        Else
            i = i + 1
        End If
    Loop
End Sub

我發現第7列中的第一個單元格為空,因此Do While Cells(i, 7).Value <> ""無法正常工作。 因此,我指的是總是包含數據的另一列。 請注意,解決方案代碼還會跳到下2列,以搜索相同的單詞。

Sub Size()
Dim i As Integer, a As String
j = 0
i = 1
a = "IN"
Range("A1").Offset(i, 0).Select

For j = 0 To 2
    Do Until Selection.Value = ""
        If InStr(Range("G1").Offset(i, j).Value, a) Then
        Range("E1").Offset(i, 0).Value = Range("G1").Offset(i, j).Value
        Range("G1").Offset(i, j).Clear
        i = i + 1
        Range("A1").Offset(i, 0).Select
        Else
        i = i + 1
        Range("A1").Offset(i, 0).Select
        End If
    Loop
    i = 1
    Range("A1").Offset(i, 0).Select
Next j
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM