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
Private Sub CommandButton1_Click()
Sheet7.Activate
Dim rg As Range
Set rg = ActiveSheet.Columns(3).Find(TextBox1.Value)
If TextBox1.Text = "" Then
MsgBox "¡ÃسҡÃÍ¡¢éÍÁÙÅ", 0, "¡ÃسҡÃÍ¡¢éÍÁÙÅ"
ElseIf rg Is Nothing Then
MsgBox "ID not found"
Else
MsgBox rg.Address
Sheet6.Activate
Do
r = r + 1
Loop Until Cells(r, 1) = ""
Cells(r, 1) = r - 1
Cells(r, 2) = TextBox5.Value
Cells(r, 3) = TextBox1.Text
Cells(r, 4) = ComboBox1.Text
Cells(r, 5) = tb2.Value - num
Cells(r, 6) = ComboBox2.Text
Cells(r, 7) = TextBox3.Text
End If
End Sub
Code: Select all
Private Sub CommandButton1_Click()
With Worksheets(7).Range("c1:c" & Cells(Rows.Count, 3).End(xlUp).Row)
Set c = .Find(TextBox1.Text, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
qty = qty + c.Offset(0, 2).Value
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
' qty = qty - tb2.Value
MsgBox "Stock : " & qty & "-" & tb2.Value & "= " & qty - tb2.Value
End If
End With
End Sub
ช่วยอธิบายโค้ดได้ไหมครับtupthai wrote: เป็นตัวอย่างหาสต็อกคงเหลือครับ
http://msdn.microsoft.com/en-us/library ... 11%29.aspxCode: Select all
Private Sub CommandButton1_Click() With Worksheets(7).Range("c1:c" & Cells(Rows.Count, 3).End(xlUp).Row) Set c = .Find(TextBox1.Text, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do qty = qty + c.Offset(0, 2).Value Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress ' qty = qty - tb2.Value MsgBox "Stock : " & qty & "-" & tb2.Value & "= " & qty - tb2.Value End If End With End Sub
Code: Select all
Private Sub CommandButton1_Click()
Sheet7.Activate
lastrow = Cells(Rows.Count, 3).End(xlUp).Row
With Range("c1:c" & lastrow)
Set c = .Find(TextBox1.Text, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
qty = qty + c.Offset(0, 2).Value
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
' qty = qty - tb2.Value
MsgBox "Stock : " & qty & "-" & tb2.Value & "= " & qty - tb2.Value
End If
End With
End Sub
มันติดตรง Msgbox ครับ มันบอก Type mismatchtupthai wrote: ลองอีกทีครับCode: Select all
Private Sub CommandButton1_Click() Sheet7.Activate lastrow = Cells(Rows.Count, 3).End(xlUp).Row With Range("c1:c" & lastrow) Set c = .Find(TextBox1.Text, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do qty = qty + c.Offset(0, 2).Value Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress ' qty = qty - tb2.Value MsgBox "Stock : " & qty & "-" & tb2.Value & "= " & qty - tb2.Value End If End With End Sub
มีเรื่องให้ช่วยอีกแล้วครับtupthai wrote:ลองดูในไฟล์แนบครับ
Code: Select all
Private Sub CommandButton1_Click()
Sheet7.Activate
lastrow = Cells(Rows.Count, 3).End(xlUp).Row
With Range("c1:c" & lastrow)
Set c = .Find(TextBox1.Text, LookIn:=xlValues)
If Not c Is Nothing Then
firstaddress = c.Address
Do
qty = qty + c.Offset(0, 2).Value
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
'qty = qty - tb2.Value
'MsgBox "Stock : " & qty & "-" & tb2.Value & "= " & tb2.Value - gty
Cells(???, 5) = gty - tb2.Value
End If
End With
End Sub
Code: Select all
Cells(lastrow+1, 5) = gty - tb2.Value
Code: Select all
x = application.match(aaa,sheets(1).range("a:a"),0)
Code: Select all
Private Sub CommandButton1_Click()
Sheet7.Activate
lastrow = Cells(Rows.Count, 3).End(xlUp).Row
With Range("c1:c" & lastrow)
Set c = .Find(TextBox1.Text, LookIn:=xlValues)
If Not c Is Nothing Then
c.Offset(0, 2).Value = c.Offset(0, 2).Value - tb2.Value
End If
End With
End Sub
Code: Select all
Private Sub CommandButton1_Click()
Sheet7.Activate
lastrow = Cells(Rows.Count, 3).End(xlUp).Row
With Range("c1:c" & lastrow)
Set c = .Find(TextBox1.Text, LookIn:=xlValues)
If tb2.Text = "" Then
MsgBox "¡ÃسҡÃÍ¡¨Ó¹Ç¹"
ElseIf tb2.Value > c.Offset(0, 2).Value Then
MsgBox c.Offset(0, 2).Value
MsgBox tb2.Value
'ElseIf c.Offset(0, 2).Value <= 0 Then
'MsgBox "ËÁ´"
'ElseIf c.Offset(0, 2) >= tb2.Value Then
'c.Offset(0, 2).Value = c.Offset(0, 2).Value - tb2.Value
End If
End With
End Sub