jkluio668
2/5/2019 - 8:32 AM

range_move

未测试

function range_move_inner(sh_ref,rb_ref,re_ref, _
sh_tgt,rb_tgt, _
optional clear1 = 0,_
optional cb = "a",optional ce = "n")
	range_move2 thisworkbook,sh_ref,rb_ref,re_ref,thisworkbook,sh_tgt,rb_tgt,clear1 ,cb ,ce
end sub

function range_move2(wb_ref,sh_ref,rb_ref,re_ref, _
wb_tgt,sh_tgt,rb_tgt, _
optional clear1 = 0, optional jmoved = "",_
optional cb = "a",optional ce = "n")
    if jmoved = "" then jmoved=ce
	arr_tmp = wb_ref.Sheets(sh_ref).Range(cb & rb_ref & ":" & ce & re_ref)
	wb_tgt.sheets(sh_tgt).Range(cb & rb_tgt & ":" & ce & (rb_tgt+re_ref-rb_ref)) = arr_tmp
	if clear1 = 1 then 
	    arr_tmp2 = make_arr_single_col("moved",re_ref-rb_ref+1)
	    wb_ref.Sheets(sh_ref).Range(jmove & rb_ref & ":" & jmove & re_ref) = arr_tmp2
	end if
end function

function range_move2_by_sh(sh_ref,rb_ref,re_ref, _
sh_tgt,rb_tgt, _
optional clear1 = 0,optional jmoved = "", _
optional cb = "a",optional ce = "n")
	arr_tmp = sh_ref.Range(cb & rb_ref & ":" & ce & re_ref)
	sh_tgt.Range(cb & rb_ref & ":" & ce & re_ref) = arr_tmp
	if clear1 = 1 then 
	    arr_tmp2 = make_arr_single_col("moved",re_ref-rb_ref+1)
	    sh_ref.Range(jmove & rb_ref & ":" & jmove & re_ref) = arr_tmp2
	end if
end function