EXCEL VBA 实现翻译(简单对照)

'ab列为词典,其中a列为中文,b列为对应翻译。现在d列有需要翻译的中文,请在e列填入其对应的翻译

Sub Trans()

    
    Dim di As Integer
    Dim rng As Range
    
    
    For di = 1 To Range("d65536 ").End(xlUp).Row     '遍历到d列有信息的最后一列
    
        If Range("d" & di) = Empty Then  '如果中间有空的列则跳过
            
        Else
            Set rng = Range("a1:a" & Range("a65536 ").End(xlUp).Row).Find(what:=Range("d" & di).Value) '在a列查找d列di行的内容并将查找到的range返回给rng。
            If rng Is Nothing Then '如果rng为空

            Else
                If rng.Offset(0, 1).Value = "" Then '如果rng后面一格为空
                
                Else
                    rng.Offset(0, 1).Copy Range("d" & di).Offset(0, 1) '如果rng后面一格不为空则将值复制给"d"&di格后面一格
                End If
            End If
            
        End If

    
    Next
   
End Sub

你可能感兴趣的:(excel,vba,excel)