把职称复制到另外一个表
Sub Macro1() ' ' Macro1 Macro ' ' Dim a Dim i Dim j Dim v1, v2 As String Dim l1, l2 Dim m Dim n Dim sh1, sh2 As Worksheet Set sh1 = Worksheets(1) '表1 Set sh2 = Worksheets(2) '表2 For a = 1 To 10 '一次处理 表1 的 10行 i = Selection.Row j = Selection.Column v1 = Trim(Selection.Value) '去掉前后空白的员工姓名 If v1 = "" Then Exit For '选择的格子为空就停止处理 sh2.Select Cells.Find(What:=v1, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , MatchByte:=False, SearchFormat:=False).Activate m = Selection.Row n = Selection.Column sh1.Select Range("F" & i).Value = sh2.Range("D" & m).Value '把需要的职称数据从 表2 m行的 D列 复制到 表1 的 i 行F列 下同 ,range对象表示连续的区域有两种表达:第一是range("起始单元格","结束单元格"),第二是range("起始单元格:结束单元格") Range("G" & i).Value = sh2.Range("E" & m).Value Range("H" & i).Value = sh2.Range("F" & m).Value Range("I" & i).Value = sh2.Range("G" & m).Value i = i + 1 Range("C" & i).Select '选择下一列 表1 姓名必须在C列 Next End Sub
下一篇: 总算把项目的帐给算清楚了