Chào mọi người trên GPE,
Em có viết 1 đoạn code lấy nguồn từ trên diễn đàn mình để phục vụ công việc
Yêu cầu của e là chỉ khi cột E trong sheet "NhapLieu" có dữ liệu (<>"") thì mới chạy các công thức trên các ô đã được quy định trên bảng "NhapLieu"
Tuy nhiên e thấy khi ta thay đổi các cột phía trước E (A,B,C,D) thì đều chạy lệnh Worksheet_change
Nhờ mọi người chỉ cách khắc phục.
code
Em có viết 1 đoạn code lấy nguồn từ trên diễn đàn mình để phục vụ công việc
Yêu cầu của e là chỉ khi cột E trong sheet "NhapLieu" có dữ liệu (<>"") thì mới chạy các công thức trên các ô đã được quy định trên bảng "NhapLieu"
Tuy nhiên e thấy khi ta thay đổi các cột phía trước E (A,B,C,D) thì đều chạy lệnh Worksheet_change
Nhờ mọi người chỉ cách khắc phục.
code
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngA As Range
Dim rngTempA As Range
On Error GoTo Loi
Set rngA = Application.Intersect(Me.Range("E700", Me.Cells(Me.Rows.Count, 1)), Target)
If rngA Is Nothing Then GoTo Thoat 'vung khong lien quan
For Each rngTempA In rngA.Areas
With rngTempA
.Offset(, 12).FormulaR1C1 = "=RC[15]"
.Offset(, 13).FormulaR1C1 = "=RC[12]&RC[16]&RC[19]"
.Offset(, 14).FormulaR1C1 = "=RC[12]&RC[16]&RC[19]"
.Offset(, 15).FormulaR1C1 = "=RC[16]&RC[19]"
.Offset(, 24).FormulaR1C1 = "=IFERROR(RC[-28]&RC[-27]&RC[-24]&RC[-21]&DAY(SUBSTITUTE(RC[-25],""//"",""/""))&MONTH(SUBSTITUTE(RC[-25],""//"",""/""))&YEAR(SUBSTITUTE(RC[-25],""//"",""/"")),"""")"
.Offset(, 25).FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-1],'\\192.168.14.6\Honglam2018\SanXuat\11.HSGS\SB_SC_2017\MUT_DEO\2018\SaBan\[BangCongNhan.xlsm]DATA_TD'!R3C11:R99999C14,2,0),"""")"
.Offset(, 26).FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-2],'\\192.168.14.6\Honglam2018\SanXuat\11.HSGS\SB_SC_2017\MUT_DEO\2018\SaBan\[BangCongNhan.xlsm]DATA_TD'!R3C11:R99999C14,3,0),"""")"
.Offset(, 27).FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-3],'\\192.168.14.6\Honglam2018\SanXuat\11.HSGS\SB_SC_2017\MUT_DEO\2018\SaBan\[BangCongNhan.xlsm]DATA_TD'!R3C11:R99999C14,4,0),"""")"
.Offset(, 28).FormulaR1C1 = "=IFERROR(RC[-28]&RC[-25]&DAY(SUBSTITUTE(RC[-29],""//"",""/""))&MONTH(SUBSTITUTE(RC[-29],""//"",""/""))&YEAR(SUBSTITUTE(RC[-29],""//"",""/"")),"""")"
.Offset(, 29).FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-1],'\\192.168.14.6\Honglam2018\SanXuat\11.HSGS\SB_SC_2017\MUT_DEO\2018\SaBan\[BangCongNhan.xlsm]DATA_CD'!R4C[-6]:R99999C[-4],2,0),"""")"
.Offset(, 30).FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-2],'\\192.168.14.6\Honglam2018\SanXuat\11.HSGS\SB_SC_2017\MUT_DEO\2018\SaBan\[BangCongNhan.xlsm]DATA_CD'!R4C[-6]:R99999C[-4],3,0),"""")"
.Offset(, 32).FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-4],'\\192.168.14.6\Honglam2018\SanXuat\11.HSGS\SB_SC_2017\MUT_DEO\2018\SaBan\[BangCongNhan.xlsm]DATA_XLN'!R3C9:R99999C12,2,0),"""")"
.Offset(, 33).FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-5],'\\192.168.14.6\Honglam2018\SanXuat\11.HSGS\SB_SC_2017\MUT_DEO\2018\SaBan\[BangCongNhan.xlsm]DATA_XLN'!R3C9:R99999C12,3,0),"""")"
.Offset(, 34).FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-6],'\\192.168.14.6\Honglam2018\SanXuat\11.HSGS\SB_SC_2017\MUT_DEO\2018\SaBan\[BangCongNhan.xlsm]DATA_XLN'!R3C9:R99999C12,4,0),"""")"
End With
Next
Thoat:
Set rngA = Nothing
Set rngTempA = Nothing
Exit Sub
Loi:
MsgBox Err.Description
Resume Thoat
End Sub