Page 1 of 1
code vba
Posted: Thu Sep 24, 2020 6:16 pm
by phon
อาจารย์ครับ ผมต้องการ copy ชื่อคอลัมน์ออกมาด้วยต้องแก้ code ตรงไหนครับโดยมี dSDate และ dEDate เป็นเงื่อนไขครับ
Re: code vba
Posted: Thu Sep 24, 2020 8:01 pm
by snasui

กรุณาระบุ Module, Procedure ที่ติดปัญหา ผลลัพธ์ที่ต้องการหาก Code ทำงานถูกต้อง จะได้เข้าถึงปัญหาได้โดยไวครับ
Re: code vba
Posted: Fri Sep 25, 2020 7:54 am
by phon
Application.ScreenUpdating = False
Dim wsData As Worksheet, wsDate As Worksheet, wsNoEntry As Worksheet
Dim dSDate As Date, dEDate As Date
Dim lRowStart As Long, lRowEnd As Long
Dim aData() As Variant
Dim i As Long
Set wsData = ThisWorkbook.Sheets("Sheet1")
Set wsDate = ThisWorkbook.Sheets("Sheet2")
Set wsNoEntry = ThisWorkbook.Sheets("Sheet2")
dSDate = wsNoEntry.Range("A1").value
dEDate = wsNoEntry.Range("B1").value
aData = wsData.Range("D1:AP1000").value
For i = 1 To 1000
If aData(i, 2) = dSDate Then
lRowStart = i
Debug.Print "Start row = " & lRowStart
Exit For
End If
Next i
For i = 1000 To 1 Step -1
If aData(i, 2) = dEDate Then
lRowEnd = i
Debug.Print "End row = " & lRowEnd
Exit For
End If
Next i
wsData.Range("D" & lRowStart, "AP" & lRowEnd).Copy
wsDate.Range("A5").PasteSpecial
Application.CutCopyMode = False
Application.ScreenUpdating = True
wsDate.Activate
Re: code vba
Posted: Fri Sep 25, 2020 8:31 am
by logic
โค้ดนี้อยู่ในโมดูลไหน ชื่ออะไร อยากได้คำตอบวางตรงไหน หน้าตาคำตอบเป็นแบบไหน ที่อาจารย์ถามคือแบบนี้ครับ
เวลาวางโค้ดก็วางให้เป็นข้อความเขียว ๆ ดูกติกาข้อ 5 ด้านบนครับ

Re: code vba
Posted: Fri Sep 25, 2020 8:44 am
by phon
Module1
Sub LookupRange()
ครับ
Re: code vba
Posted: Fri Sep 25, 2020 8:51 am
by phon
Module1
Sub LookupRange()
ครับ
อยากให้ชื่อ คอลัมน์ออกมาด้วยครับ
Re: code vba
Posted: Fri Sep 25, 2020 8:53 am
by phon
DATA อยู่ Sheet1 ครับ
Re: code vba
Posted: Fri Sep 25, 2020 9:22 am
by logic
คัดลอกหัวบรรทัดด้วยโค้ดนี้ครับ
wsData.Range("D1:AP1").Copy wsDate.Range("A4")
วางหลัง
Next i
Code: Select all
'...
Next i
wsData.Range("D1:AP1").Copy wsDate.Range("A4")
wsData.Range("D" & lRowStart, "AP" & lRowEnd).Copy
wsDate.Range("A5").PasteSpecial
'clear clipboard
Application.CutCopyMode = False
Application.ScreenUpdating = True
wsDate.Activate
End Sub
Re: code vba
Posted: Fri Sep 25, 2020 10:32 am
by phon
ได้แล้วครับอาจารย์ ขอบคุณมากครับผม