สวัสดีปีใหม่จีนค่ะ
ขอความช่วยเหลือในการเขียนโค้ด 2 เรื่องค่ะ
1. การก๊อปปี้จากคอลัมน์จากชีท "Itemize" เพื่อไปวางที่ชีท "FINAL ITEMIZE" โค้ดนี้เมื่อใช้งานจำนวนที่มากๆ ทำให้เครื่องทำงานช้าผิดปกติ ไม่ทราบว่ามีโค้ดที่ทำให้ข้อมูลวางได้ไวกว่านี้หรือไม่คะ (ดึงมาเป็นบางคอลัมน์ค่ะ)
2. ต้องการให้แสดงชื่อโรค โดยไม่เป็นการกำหนด Range ที่ 30 อยากให้ดึงตามข้อมูลที่มีอยู่ เช่น ที่ชีท "FINAL ITEMIZE" จบที่ 17 ก็ให้จบที่ 17
และต้องการทำให้เป็น pastespecialvalue ค่ะ
มือใหม่ ขอขอบพระคุณล่วงหน้าค่ะ
Code: Select all
Private Sub CommandButton5_Click()
Dim Ir, erow As Integer
Ir = Sheet5.Cells(Rows.Count, 1).End(xlUp).Row
For i = 7 To Ir
erow = Sheet7.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
Sheet5.Cells(i, 1).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 1)
Sheet5.Cells(i, 2).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 2)
Sheet5.Cells(i, 3).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 3)
Sheet5.Cells(i, 4).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 4)
Sheet5.Cells(i, 5).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 5)
Sheet5.Cells(i, 8).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 6)
Sheet5.Cells(i, 9).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 7)
Sheet5.Cells(i, 10).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 8)
Sheet5.Cells(i, 11).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 9)
Sheet5.Cells(i, 12).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 10)
Sheet5.Cells(i, 13).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 11)
Sheet5.Cells(i, 46).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 12)
Sheet5.Cells(i, 47).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 13)
Sheet5.Cells(i, 17).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 14)
Sheet5.Cells(i, 18).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 15)
Sheet5.Cells(i, 22).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 16)
Sheet5.Cells(i, 26).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 17)
Sheet5.Cells(i, 27).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 18)
Sheet5.Cells(i, 32).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 19)
Sheet5.Cells(i, 33).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 20)
Sheet5.Cells(i, 39).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 21)
Sheet5.Cells(i, 40).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 22)
Sheet5.Cells(i, 41).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 23)
Sheet5.Cells(i, 42).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 24)
Sheet5.Cells(i, 44).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 25)
Sheet5.Cells(i, 45).Copy
Sheet5.Paste Destination:=Worksheets("FINAL ITEMIZE").Cells(erow, 26)
Next i
Application.CutCopyMode = False
Sheet7.Columns().AutoFit
Range("A1").Select
End Sub
Code: Select all
Option Explicit
Sub Diagnosis()
Worksheets("FINAL ITEMIZE").Activate
Range("AA7") = "Diagnosis (Thai)"
Range("AA8").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(LEFT(RC[-6],4),'ICD10'!C[-25]:C[-23],2,0),VLOOKUP(LEFT(RC[-6],3),'ICD10'!C[-25]:C[-23],2,0))"
Selection.Copy
Range(Selection, Selection.End(xlDown)).Select
Range("AA8:AA30").Select
'Range("AA" & Rows.Count).End(xlUp).Select
ActiveSheet.Paste
Columns("AA:AA").EntireColumn.AutoFit
'Range("AA").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
You do not have the required permissions to view the files attached to this post.