รบกวนสอบถาม code vba copy ข้อมูลแบบหลายช่วง
Posted: Mon May 13, 2013 10:46 pm
ดิฉันรบกวนสอบถามการเขียน code vba สำหรับการ copy ข้อมูลดังนี้คะ
ดิฉันต้องการ copy paste value ข้อมูลจาก
1. B5:B13 ไปไว้ที่ I5:T13
2. C5:C13 ไปไว้ที่ U5:AF13
3. E5:E13 ไปไว้ที่ AG5:AR13
4. G5:G13 ไปไว้ที่ AS5:BD13
โดยมีเงื่อนไขอยู่ที่ D2 คือ ถ้าที่ D2 = YTDJAN ให้
1. Copy ข้อมูลจาก B5:B13 ไปไว้ที่ I5:I13
2. Copy ข้อมูลจาก C5:C13 ไปไว้ที่ U5:U13
3. Copy ข้อมูลจาก E5:E13 ไปไว้ที่ AG5:AG13
4. Copy ข้อมูลจาก G5:G13 ไปไว้ที่ AS5:AS13
แต่ถ้าที่ D2 = YTDFEB ให้
1. Copy ข้อมูลจาก B5:B13 ไปไว้ที่ J5:J13
2. Copy ข้อมูลจาก C5:C13 ไปไว้ที่ V5:V13
3. Copy ข้อมูลจาก E5:E13 ไปไว้ที่ AH5:AH13
4. Copy ข้อมูลจาก G5:G13 ไปไว้ที่ AT5:AT13
โดยดิฉันได้เขียน code ดังนี้คะ
เมื่อดิฉันลองเลือกที่ D2 = YTDJAN ได้ผลลัพธ์ ดังนี้คะ
ข้อมูลจาก G5:G13 ไปอยู่ที่ I5:I13 แต่ผลลัพธ์ที่ต้องการคือ ให้
1. Copy ข้อมูลจาก B5:B13 ไปไว้ที่ I5:I13
2. Copy ข้อมูลจาก C5:C13 ไปไว้ที่ U5:U13
3. Copy ข้อมูลจาก E5:E13 ไปไว้ที่ AG5:AG13
4. Copy ข้อมูลจาก G5:G13 ไปไว้ที่ AS5:AS13
รบกวนท่านผุ้รู้ช่วยแนะนำด้วยคะ
ดิฉันต้องการ copy paste value ข้อมูลจาก
1. B5:B13 ไปไว้ที่ I5:T13
2. C5:C13 ไปไว้ที่ U5:AF13
3. E5:E13 ไปไว้ที่ AG5:AR13
4. G5:G13 ไปไว้ที่ AS5:BD13
โดยมีเงื่อนไขอยู่ที่ D2 คือ ถ้าที่ D2 = YTDJAN ให้
1. Copy ข้อมูลจาก B5:B13 ไปไว้ที่ I5:I13
2. Copy ข้อมูลจาก C5:C13 ไปไว้ที่ U5:U13
3. Copy ข้อมูลจาก E5:E13 ไปไว้ที่ AG5:AG13
4. Copy ข้อมูลจาก G5:G13 ไปไว้ที่ AS5:AS13
แต่ถ้าที่ D2 = YTDFEB ให้
1. Copy ข้อมูลจาก B5:B13 ไปไว้ที่ J5:J13
2. Copy ข้อมูลจาก C5:C13 ไปไว้ที่ V5:V13
3. Copy ข้อมูลจาก E5:E13 ไปไว้ที่ AH5:AH13
4. Copy ข้อมูลจาก G5:G13 ไปไว้ที่ AT5:AT13
โดยดิฉันได้เขียน code ดังนี้คะ
Code: Select all
Private Sub CommandButton1_Click()
Application.Goto reference:="STPA1"
Selection.Copy
Application.Goto reference:="TTPA1"
Selection.PasteSpecial Paste:=xlPasteValues
Application.Goto reference:="STPA2"
Selection.Copy
Application.Goto reference:="TTPA2"
Selection.PasteSpecial Paste:=xlPasteValues
Application.Goto reference:="STPA3"
Selection.Copy
Application.Goto reference:="TTPA3"
Selection.PasteSpecial Paste:=xlPasteValues
Application.Goto reference:="STPA4"
Selection.Copy
Application.Goto reference:="TTPA4"
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
ActiveSheet.Range("D2").Select
End Sub
ข้อมูลจาก G5:G13 ไปอยู่ที่ I5:I13 แต่ผลลัพธ์ที่ต้องการคือ ให้
1. Copy ข้อมูลจาก B5:B13 ไปไว้ที่ I5:I13
2. Copy ข้อมูลจาก C5:C13 ไปไว้ที่ U5:U13
3. Copy ข้อมูลจาก E5:E13 ไปไว้ที่ AG5:AG13
4. Copy ข้อมูลจาก G5:G13 ไปไว้ที่ AS5:AS13
รบกวนท่านผุ้รู้ช่วยแนะนำด้วยคะ