我是一位编程初学者,想问我如何编码才能将信息从一个工作表传递给另一个工作表,但前提是要满足条件。在我的情况下,我有一个名称列表及其各自的工作。我想将名称转移到另一个工作表,但是仅当作业是X时。由于名称和姓氏在不同的列中但在同一行中,所以我还必须找到一种选择作业名称所在行的方法。
For Each Candidate In Sheets("XX").Range("A2:A")
If Candidate = "Job" Then
'Copy Name in that same row to Sheets("Job").Range("A" & next free row)
'Copy Surname in that same row to Sheets("Job").Range("B" & next free row)
End If
Next Candidate
答案 0 :(得分:0)
假设名称在A和B列中,而作业在C列中
Dim R as Range
dim target as range
set target = Worksheets("target worksheet name goes here").range("a1") 'or whatever address
For each r in RAnge("A1:A100") 'alter 100 as appropriate
if r.offset(0,2) = "target job" then
target = r
target.offset(0,1) = r.offset(0,1)
set target = target.offset(1,0)
end if
next r
答案 1 :(得分:0)
Sub transfer_information()
Dim myCell As Range
Dim target As Range
Dim colOffset As Integer
Dim TargetSheetString As String
Dim TargetWorkbookString As String
TargetSheetString = "target worksheet name goes here"
TargetWorkbookString = "target workbook name goes here"
'Uncomment to run with the the active workbook and sheet
'TargetSheetString = ActiveSheet.Name
'TargetWorkbookString = ThisWorkbook.Name
Set target = Workbooks(TargetWorkbookString).Worksheets(TargetSheetString).Range("E2") 'or whatever address
For Each myCell In Range("A1:A100") 'alter 100 as appropriate
colOffset = 2
If myCell.Offset(0, colOffset) = "target job" Then
target = myCell
target.Offset(0, 0) = myCell.Offset(0, 0)
target.Offset(0, 1) = myCell.Offset(0, 1)
target.Offset(0, 2) = myCell.Offset(0, 2)
Set target = target.Offset(1, 0)
End If
Next myCell
End Sub