Code: Select all
Sub GetData()
Sheets("Forms").Range("A64:J90").ClearContents
Dim rFind As Range, rDataAll As Range
Dim r As Range, rTarget As Range
Dim ws As Worksheet, i As Integer
Set ws = Worksheets("Forms")
Set rFind = Sheets("Forms").Range("D11")
Application.EnableEvents = False
ws.Range("A64:J90").ClearContents
If Sheets("Forms").Range("D11") = "" Then Exit Sub
With Sheets("List")
Set rDataAll = .Range("B38", .Range("B" & Rows.Count).End(xlUp))
If .Columns("B:B").Find(rFind, LookIn:=xlValues) Is Nothing Then
MsgBox ("ไม่มีรายการนี้")
Exit Sub
End If
End With
i = 64
For Each r In rDataAll
If r = rFind Then
ws.Range("B" & i).Resize(1, 3).Value = _
r.Offset(0, 1).Resize(1, 3).Value
i = i + 1
End If
Next r
Application.EnableEvents = True
' MsgBox "Get data has finished."
Set ws = Nothing
Set rFind = Nothing
Set rDataAll = Nothing
End Sub
เรียนอาจารย์ครับ ผมลองเขียน Code ดู
ไปที่ Sheet "Menu" > คลิก Menu > เลือก Mode of Medevac เป็น Commercial Flight คลิกปุ่ม Preview
ไปที่ Sheet "Forms" ข้อมูลจะแสดงใน Line ที่ 64 ปกติ
คลิกปุ่ม "New" > Preview เพื่อ Get ค่าต่าง ๆ ใน Forms ให้เป็นค่าว่าง หลังจากนั้น
เลือก Mode of Medevac เป็น Air Ambulance > Previewข้อมูลจะไม่แสดงใน Line ที่ 64
ต้องปรับ Code อย่างไรบ้างครับ ขอบคุณครับ