Sub Macro1()
On Error Resume Next
Dim arr, brr, i&, zf$
arr = ActiveSheet.UsedRange
ReDim brr(1 To UBound(arr), 1 To 1)
For i = 1 To UBound(arr)
If arr(i, 3) <> "" Then
brr(i, 1) = arr(i, 3)
Else
If arr(i, 2) <> "" Then brr(i, 1) = arr(i, 2)
End If
Next
zf = MsgBox("是否替换数据源?", vbYesNo)
If zf = vbYes Then
ActiveSheet.UsedRange.ClearContents
Range("a1").Resize(UBound(brr)) = brr
Else
Exit Sub
End If
End Sub