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
Application.Rounddown(Range("A1"),2))
Code: Select all
If Sheet26.Range("O22").Value = Sheet26.Range("E22").Value Then
frmDrop.Label137.Caption = "P"
frmDrop.Label137.Font = "Wingdings 2"
frmDrop.Label137.ForeColor = &HC000& 'ค่าสีผมลอกจากหน้าPropertyสีเขียว
Else
frmDrop.Label137.Caption = "X"
frmDrop.Label137.Font = "Tahoma"
frmDrop.Label137.ForeColor = &HFF& 'ค่าสีผมลอกจากหน้าPropertyสีแดง
End If
Code: Select all
If Sheet26.Range("O22").Value = Sheet26.Range("E22").Value Then
frmDrop.Label137.Font = "Wingdings 2"
frmDrop.Label137.Caption = "P"
frmDrop.Label137.ForeColor = &HC000& 'ค่าสีผมลอกจากหน้าPropertyสีเขียว
Else
frmDrop.Label137.Font = "Tahoma"
frmDrop.Label137.Caption = "X"
frmDrop.Label137.ForeColor = &HFF& 'ค่าสีผมลอกจากหน้าPropertyสีแดง
End If
แก้ไขด้วยการเปลี่ยนเป็น Long อย่างที่คุณ Bufnet คิดไว้ได้เลยครับ เนื่องจาก Long จะอยู่ในช่วง -2,147,483,648 ถึง 2,147,483,647 ส่วน Integer อยู่ในช่วง -32,768 to 32,767 ซึ่งไม่พอใช้งานครับBafnet wrote:มีปัญหาครับ
เกิด Bug
ที่ r=r+1
ขณะที่ r=32768
ผมเข้าใจว่าน่าจะเป็นเพราะ Dim r AS Interger ผมอ่านจากหนังสือ
แก้ไขอย่างไรดีครับ
เข้าใจถูกแล้วครับ ค่าต่ำสุดก็จะขยายไปมากกว่าเดิม จึงไม่น่าจะมีผลกระทบจากการเปลี่ยนเป็น Integer เป็น Long ครับBafnet wrote:อาจารย์ครับ
ถ้า Dim r As Interger แล้วเปลี่ยนเป็น AS Long
จะมีผลกับที่บางคำสั่ง r สูงสุดเป็นแค่หลักสิบ หรือร้อย
หรือไม่มีผล เพราะการกำหนดว่า As Long
เป็นแค่การกำหนดจำนวนค่าของข้อมูลว่าสูงสุดรับได้เท่าไร
ดังนั้นจึงไม่มีปัญหากับค่าต่ำสุด
ถ้าจะมีก็คือค่าที่เกินค่าสูงสุดที่รับได้
เอ..เข้าใจถุกรึป่าว
นับเป็นเรื่องแปลกครับ สิ่งที่ฟ้องไม่ตรงกับสิ่งที่โปรแกรมกำลังเป็นBafnet wrote:รายงานความคืบหน้าครับ
ได้ไปเอาไฟล์งานที่ให้พนักงานทดลองใช้
ซึ่งไม่ได้เขียนคำสั่งใดๆเพิ่มเติม นอกจากการแก้ Interger เป็น Long
ปรากฎว่า Debug ลักษณะดังกล่าวครับ
และไฟล์ที่ไม่ได้แก้ Interger เป็น Long ไม่มีอาการดังกล่าว
ไม่มีปัญหาครับ แต่ถ้าใช้โดยไม่ประกาศก่อนตัวแปรนั้นจะเป็น Variant โดยอัตโนมัติBafnet wrote:1.การประกาศตัวแปรไว้แต่ไม่ได้ใช้มีผลกับคำสั่งนั้นรึเปล่าครับ เช่นบอกว่า Dim X As interger
แต่ในคำสั่งนั้นไม่มีคำสั่งใดๆที่ใช้ x เพราะบางทีคำสั่งที่คล้ายๆกันผมก็ลอกไปวาง แล้วเปลี่ยนคำสั่งแต่
ส่วนที่ประกาศตัวแปรบางทีก็ลืมลบ
สำหรับเรื่อง VBA และ Barcode ลองศึกษาตามนี้ดูครับ VBA and BarcodeBafnet wrote:2.อาจารย์พอจะแนะนำแหล่งความรู้เรื่อง barcode ได้ไหมครับ
ตอนนี้ผมมีฟอร์นบาร์โค๊ด ซึ่งนำไปทดสอบแล้ว ใช้ได้ครับ
แต่อยากรู้วิธีเขียน เช่นชุดข้อมูล+Enter ,ชุดข้อมูล+F7
ประมาณว่ายิงแล้วได้ข้อมูลตามที่ระบุพร้อม Enter
ยินดีครับBafnet wrote:ขออนุญาตนำ Link snasui.Com ใส่ในโปรแกรมนะครับ
Code: Select all
Private Sub CommandButton28_Click()
Dim ri As Range
If frmPro.ComboBox12.Value = "" Then
Exit Sub
End If
On Error Resume Next
Sheet21.Visible = xlSheetVisible
Sheet21.Activate
With Worksheets("Credit")
Set ri = .Range(.Range("BU1"), .Range("BZ65536") _
.End(xlUp)).SpecialCells(xlCellTypeVisible)
End With
ri.Select
Selection.EntireColumn.AutoFit
With Selection
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
.Borders(xlInsideVertical).LineStyle = xlContinuous
End With
frmPro.Hide
ri.PrintPreview
frmPro.Show
Sheet21.Activate
Columns("BU:BZ").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Sheet21.Visible = xlSheetHidden
End Sub
Code: Select all
Sub SumLastCellToStartCell()
Dim r As Range
Set r = Range("BU" & Rows.Count).End(xlUp).Offset(1, 0)
r = "=sum(R1C:R[-1]C)"
r.Offset(0, 1) = "=sum(R1C:R[-1]C)"
r.Offset(0, 2) = "=sum(R1C:R[-1]C)"
r.Offset(0, 3) = "=sum(R1C:R[-1]C)"
r.Offset(0, 4) = "=sum(R1C:R[-1]C)"
r.Offset(0, 5) = "=sum(R1C:R[-1]C)"
End Sub