EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)Code: Select all
Sub Macro1()
'
' Macro1 Macro
'
'
Range("J1:J86").Select
Selection.Copy
Sheets("ACT YEAR 23").Select
Range("B4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("FX").Select
Range("K1:K80").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Ticket").Select
Range("B4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("FX").Select
Range("G5").Select
Application.CutCopyMode = False
End Sub
Code: Select all
Sub Macro1()
'
' Macro1 Macro
'
'
' Range("J1:J86").Select
' Selection.Copy
' Sheets("ACT YEAR 23").Select
' Range("B4").Select
' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
' :=False, Transpose:=False
' Sheets("FX").Select
' Range("K1:K80").Select
' Application.CutCopyMode = False
' Selection.Copy
' Sheets("Ticket").Select
' Range("B4").Select
' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
' :=False, Transpose:=False
' Sheets("FX").Select
' Range("G5").Select
' Application.CutCopyMode = False
Dim c As Integer
Dim s As Range
With Worksheets("FX")
Set s = .Range("j1", .Range("j" & .Rows.Count).End(xlUp))
End With
With Worksheets("ACT Year 23")
If Application.CountIfs(.Range("3:3"), Worksheets("FX").Range("a3")) Then
c = Application.Match(Worksheets("FX").Range("a3"), .Range("3:3"), 0)
.Cells(4, c).Resize(s.Rows.Count, 1).Value = s.Value
Worksheets("Ticket").Cells(4, c).Resize(s.Rows.Count, 1).Value = s.Offset(0, 1).Value
Else
MsgBox "Not found date.", vbExclamation
Exit Sub
End If
End With
End Sub
Code: Select all
Sub Macro2()
'
' Macro2 Macro
'
'
' Range("J1:J9").Select
' Selection.Copy
' Sheets("1").Select
' Range("B4").Select
' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
' :=False, Transpose:=False
' Sheets("FX").Select
' Range("K1:K9").Select
' Application.CutCopyMode = False
' Selection.Copy
' Sheets("2").Select
' Range("B4").Select
' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
' :=False, Transpose:=False
' Sheets("FX").Select
' Range("G5").Select
' Application.CutCopyMode = False
Dim c As Integer
Dim s As Range
With Worksheets("FX")
Set s = .Range("j1", .Range("j" & .Rows.Count).End(xlUp))
End With
With Worksheets("1")
If Application.CountIfs(.Range("3:3"), Worksheets("FX").Range("a1")) Then
c = Application.Match(Worksheets("FX").Range("a1"), .Range("3:3"), 0)
.Cells(4, c).Resize(s.Rows.Count, 1).Value = s.Value
Worksheets("2").Cells(4, c).Resize(s.Rows.Count, 1).Value = s.Offset(0, 1).Value
Else
MsgBox "Not found date.", vbExclamation
Exit Sub
End If
End With
End Sub
สอบถามครับ ถ้าต้องการเพิ่มอีกชีทนึง โดยเข้าข้อมูลจากชีท FX P1:P50 ไปวางที่ชีท P50 ช่อง B4 ต้องปรับแก้ตรงไหนครับsnasui wrote: Sat Jan 14, 2023 1:50 pm ตัวอย่างการปรับ Code ครับ
Code: Select all
Sub Macro1() ' ' Macro1 Macro ' ' ' Range("J1:J86").Select ' Selection.Copy ' Sheets("ACT YEAR 23").Select ' Range("B4").Select ' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ ' :=False, Transpose:=False ' Sheets("FX").Select ' Range("K1:K80").Select ' Application.CutCopyMode = False ' Selection.Copy ' Sheets("Ticket").Select ' Range("B4").Select ' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ ' :=False, Transpose:=False ' Sheets("FX").Select ' Range("G5").Select ' Application.CutCopyMode = False Dim c As Integer Dim s As Range With Worksheets("FX") Set s = .Range("j1", .Range("j" & .Rows.Count).End(xlUp)) End With With Worksheets("ACT Year 23") If Application.CountIfs(.Range("3:3"), Worksheets("FX").Range("a3")) Then c = Application.Match(Worksheets("FX").Range("a3"), .Range("3:3"), 0) .Cells(4, c).Resize(s.Rows.Count, 1).Value = s.Value Worksheets("Ticket").Cells(4, c).Resize(s.Rows.Count, 1).Value = s.Offset(0, 1).Value Else MsgBox "Not found date.", vbExclamation Exit Sub End If End With End Sub