snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน Macro และ VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
sahavit
Member
Posts: 19 Joined: Sat Aug 18, 2012 10:02 am
#1
Post
by sahavit » Thu Aug 23, 2012 10:40 am
command bottom ชื่อ nitrogen link macro ไปที่sheet nitrogen
command bottom ชื่อ oxygen link macro ไปที่sheet oxygen
command bottom ชื่อ hydrogen link macro ไปที่sheet hydrogen
command bottom ชื่อ argon link macro ไปที่sheet argon
command bottom ชื่อclear screen อยากทำการล้างข้อมูลในช่องd1:d6
Attachments
ตารางเอนทัลปีที่เปลี่ยนไปตามเวลา4.xlsm
(124.16 KiB) Downloaded 13 times
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#2
Post
by bank9597 » Thu Aug 23, 2012 11:11 am
การสอบถามเรื่อง VBA จำเป็นต้องเขียนมาก่อนเสมอครับ
คำถามที่ถามมาผมเคยตอบไว้แล้วใน
viewtopic.php?f=3&t=3111
เช่น การล้างข้อมูลก็จะใช้โค๊ดแนวนี้
Code: Select all
Sheets("Sheet1").Range("D2:D6").ClearContents
ส่วนการเปิดหน้าชีทต่างๆ โค๊ดที่ใช้ก็จะประมาณนี้
ลองเขียนมาดูก่อนครับ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
sahavit
Member
Posts: 19 Joined: Sat Aug 18, 2012 10:02 am
#3
Post
by sahavit » Thu Aug 23, 2012 11:20 am
Sub Macro1()
'
' Macro1 Macro
'
Dim i As Integer
On Error Resume Next
With Sheets("nitrogen")
For i = 1 To 109
If i = 1 Then
Rpipe = InputBox("input rpipe")
.Range("r16") = Rpipe
Pinttank1 = InputBox("input P1int")
.Range("r1") = Pinttank1
r1 = InputBox("input R1")
.Range("r14") = r1
Temperature1 = InputBox("input T1int")
.Range("r3") = Temperature1
.Range("b156") = .Range("r1")
.Range("d156") = .Range("r2")
.Range("f156") = .Range("r3")
Vguess = InputBox("input specificvolumn1")
.Range("D157") = Vguess
.Range("b157").Formula = "=B156"
.Range("b158").Formula = "=m27*F156/D157+B162*m27*F156/D157^2"
.Range("b159").Formula = "=B157-B158"
.Range("b159").Select
.Range("b159").GoalSeek Goal:=0, ChangingCell:=.Range("D157")
.Range("a3") = .Range("d158")
r2 = InputBox("input r2")
.Range("r15") = r2
Temperature2 = InputBox("input T2int")
.Range("r6") = Temperature2
.Range("b165") = .Range("r4")
.Range("d165") = .Range("r5")
.Range("f165") = .Range("r6")
Vguess = InputBox("input specificvolumn2")
.Range("D166") = Vguess
.Range("b166").Formula = "=B165"
.Range("b167").Formula = "=m27*F165/D166+B171*m27*F165/D166^2"
.Range("b159").Formula = "=B166-B167"
.Range("b168").Select
.Range("b168").GoalSeek Goal:=0, ChangingCell:=.Range("D166")
.Range("b3") = .Range("d167")
.Range("b177").Formula = "=A175*B176+(B175*B176^2)/2+(C175*B176^3)/3+(D175*B176^4)/4"
.Range("b178").Formula = "=(F165+273)/2"
.Range("b185").Formula = "=(B178*B184+B181)*(B156-1)/10"
.Range("b186").Formula = "=B177+B185"
.Range("c3") = .Range("b186")
.Range("b190").Formula = "=F165-273"
.Range("b191").Formula = "=A189*B190+(B189*B190^2)/2+(C189*B190^3)/3+(D189*B190^4)/4"
.Range("d3") = .Range("b191")
guessTemp1 = InputBox("input T1")
.Range("c119") = guessTemp1
.Range("b113").Formula = "=a4"
.Range("b114") = .Range("a1") / Range("a4")
.Range("b140").Formula = "= ((C3-D3)/2)*(D1/A4)"
.Range("b138").Formula = "= c3+b140"
.Range("b139").Select
.Range("b139").GoalSeek Goal:=0, ChangingCell:=.Range("c119")
.Range("g2") = .Range("c119")
.Range("f2") = .Range("b132")
.Range("c4") = .Range("b138")
.Range("b113").Formula = "=b4"
.Range("b114") = Range("b1") / Range("b4")
guessTemp1 = InputBox("input T2")
.Range("c119") = guessTemp1
.Range("b140").Formula = "= ((C3-D3)/2)*(D1/b4)"
.Range("b138").Formula = "= D3+b140"
.Range("b139").Select
.Range("b139").GoalSeek Goal:=0, ChangingCell:=.Range("c119")
.Range("b146").Formula = "=SQRT((f2-h2)*10^5)"
.Range("i2") = .Range("c119")
.Range("h2") = .Range("b132")
.Range("d4") = .Range("b138")
.Range("j2") = .Range("b151")
Else
If .Range("f" & i) < .Range("h" & i) Then Exit For
.Range("b113") = .Range("a" & i + 3)
.Range("b114") = .Range("a1") / .Range("a" & i + 3)
.Range("a142") = .Range("c" & i + 2)
.Range("a144") = .Range("a" & i + 4)
.Range("b142") = .Range("d" & i + 2)
.Range("b140").Formula = "= ((a142-b142)/2)*(D1/A144)"
.Range("b138").Formula = "= a142+b140"
.Range("b139").Select
.Range("b139").GoalSeek Goal:=0, ChangingCell:=.Range("c119")
.Range("c" & i + 3) = .Range("b138")
.Range("G" & i + 1) = .Range("c119")
.Range("F" & i + 1) = .Range("b132")
.Range("b144") = .Range("b" & i + 4)
.Range("b113") = .Range("b" & i + 3)
.Range("b114") = Range("b1") / Range("b" & i + 3)
.Range("b140").Formula = "= ((a142-b142)/2)*(D1/b144)"
.Range("b138").Formula = "= b142+b140"
.Range("b139").Select
.Range("b139").GoalSeek Goal:=0, ChangingCell:=.Range("c119")
.Range("b146").Formula = "=SQRT((a154-b154)*10^5)"
.Range("a154") = .Range("f" & i + 1)
.Range("b154") = .Range("h" & i + 1)
.Range("i" & i + 1) = .Range("c119")
.Range("h" & i + 1) = .Range("b132")
.Range("d" & i + 3) = .Range("b138")
.Range("j" & i + 1) = .Range("j" & i) + .Range("b151")
.Range("r12") = .Range("j" & i + 1)
.Range("r8") = .Range("f" & i + 1)
.Range("r10") = .Range("h" & i + 1)
.Range("r9") = .Range("g" & i + 1)
.Range("r11") = .Range("i" & i + 1)
End If
Next i
End With
End Sub
ไม่รู้ว่าผมเขียนผิดตรงไหนอะครับมันerror
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#4
Post
by bank9597 » Thu Aug 23, 2012 11:58 am
sahavit wrote: Sub Macro1()
'
' Macro1 Macro
'
Dim i As Integer
On Error Resume Next
With Sheets("nitrogen")
For i = 1 To 109
If i = 1 Then
Rpipe = InputBox("input rpipe")
.Range("r16") = Rpipe
Pinttank1 = InputBox("input P1int")
.Range("r1") = Pinttank1
r1 = InputBox("input R1")
.Range("r14") = r1
Temperature1 = InputBox("input T1int")
.Range("r3") = Temperature1
.Range("b156") = .Range("r1")
.Range("d156") = .Range("r2")
.Range("f156") = .Range("r3")
Vguess = InputBox("input specificvolumn1")
.Range("D157") = Vguess
.Range("b157").Formula = "=B156"
.Range("b158").Formula = "=m27*F156/D157+B162*m27*F156/D157^2"
.Range("b159").Formula = "=B157-B158"
.Range("b159").Select
.Range("b159").GoalSeek Goal:=0, ChangingCell:=.Range("D157")
.Range("a3") = .Range("d158")
r2 = InputBox("input r2")
.Range("r15") = r2
Temperature2 = InputBox("input T2int")
.Range("r6") = Temperature2
.Range("b165") = .Range("r4")
.Range("d165") = .Range("r5")
.Range("f165") = .Range("r6")
Vguess = InputBox("input specificvolumn2")
.Range("D166") = Vguess
.Range("b166").Formula = "=B165"
.Range("b167").Formula = "=m27*F165/D166+B171*m27*F165/D166^2"
.Range("b159").Formula = "=B166-B167"
.Range("b168").Select
.Range("b168").GoalSeek Goal:=0, ChangingCell:=.Range("D166")
.Range("b3") = .Range("d167")
.Range("b177").Formula = "=A175*B176+(B175*B176^2)/2+(C175*B176^3)/3+(D175*B176^4)/4"
.Range("b178").Formula = "=(F165+273)/2"
.Range("b185").Formula = "=(B178*B184+B181)*(B156-1)/10"
.Range("b186").Formula = "=B177+B185"
.Range("c3") = .Range("b186")
.Range("b190").Formula = "=F165-273"
.Range("b191").Formula = "=A189*B190+(B189*B190^2)/2+(C189*B190^3)/3+(D189*B190^4)/4"
.Range("d3") = .Range("b191")
guessTemp1 = InputBox("input T1")
.Range("c119") = guessTemp1
.Range("b113").Formula = "=a4"
.Range("b114") = .Range("a1") / Range("a4")
.Range("b140").Formula = "= ((C3-D3)/2)*(D1/A4)"
.Range("b138").Formula = "= c3+b140"
.Range("b139").Select
.Range("b139").GoalSeek Goal:=0, ChangingCell:=.Range("c119")
.Range("g2") = .Range("c119")
.Range("f2") = .Range("b132")
.Range("c4") = .Range("b138")
.Range("b113").Formula = "=b4"
.Range("b114") = Range("b1") / Range("b4")
guessTemp1 = InputBox("input T2")
.Range("c119") = guessTemp1
.Range("b140").Formula = "= ((C3-D3)/2)*(D1/b4)"
.Range("b138").Formula = "= D3+b140"
.Range("b139").Select
.Range("b139").GoalSeek Goal:=0, ChangingCell:=.Range("c119")
.Range("b146").Formula = "=SQRT((f2-h2)*10^5)"
.Range("i2") = .Range("c119")
.Range("h2") = .Range("b132")
.Range("d4") = .Range("b138")
.Range("j2") = .Range("b151")
Else
If .Range("f" & i) < .Range("h" & i) Then Exit For
.Range("b113") = .Range("a" & i + 3)
.Range("b114") = .Range("a1") / .Range("a" & i + 3)
.Range("a142") = .Range("c" & i + 2)
.Range("a144") = .Range("a" & i + 4)
.Range("b142") = .Range("d" & i + 2)
.Range("b140").Formula = "= ((a142-b142)/2)*(D1/A144)"
.Range("b138").Formula = "= a142+b140"
.Range("b139").Select
.Range("b139").GoalSeek Goal:=0, ChangingCell:=.Range("c119")
.Range("c" & i + 3) = .Range("b138")
.Range("G" & i + 1) = .Range("c119")
.Range("F" & i + 1) = .Range("b132")
.Range("b144") = .Range("b" & i + 4)
.Range("b113") = .Range("b" & i + 3)
.Range("b114") = Range("b1") / Range("b" & i + 3)
.Range("b140").Formula = "= ((a142-b142)/2)*(D1/b144)"
.Range("b138").Formula = "= b142+b140"
.Range("b139").Select
.Range("b139").GoalSeek Goal:=0, ChangingCell:=.Range("c119")
.Range("b146").Formula = "=SQRT((a154-b154)*10^5)"
.Range("a154") = .Range("f" & i + 1)
.Range("b154") = .Range("h" & i + 1)
.Range("i" & i + 1) = .Range("c119")
.Range("h" & i + 1) = .Range("b132")
.Range("d" & i + 3) = .Range("b138")
.Range("j" & i + 1) = .Range("j" & i) + .Range("b151")
.Range("r12") = .Range("j" & i + 1)
.Range("r8") = .Range("f" & i + 1)
.Range("r10") = .Range("h" & i + 1)
.Range("r9") = .Range("g" & i + 1)
.Range("r11") = .Range("i" & i + 1)
End If
Next i
End With
End Sub
ไม่รู้ว่าผมเขียนผิดตรงไหนอะครับมันerror
โค๊ดที่โพสต์มา กับคำถามที่ถามข้างบนสุด มีความเกี่ยวข้องกันอย่างไร
คุณถามเรื่องการเรียกชีทต่างๆให้แสดง กับ การล้างข้อมูล หรือว่าผมเข้าใจอะไรผิดไปเหรอครับ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
sahavit
Member
Posts: 19 Joined: Sat Aug 18, 2012 10:02 am
#5
Post
by sahavit » Thu Aug 23, 2012 12:06 pm
ขอโทษครับที่ผมอธิบายไม่ละเอียดครับโดยอย่างที่คุณเคยบอกครับมันจาเป็นเพียงแค่การเอาค่ามาป้อนสู้หน้าสุดท้ายที่ลิงค์ไปแต่ในmacro แต่ละsheetครับจะมีการป้อนรับค่าเพื่อคำนวณหาค่าP Tไหม่เสมอครับคือถ้าผมใช้codeตามคุณว่ามันจะไม่มีการรับค่าไหม่ครับ ผมขอความกรุณาคุณลองrunในsheet อื่นครับผมว่าคุณน่าจะเข้าใจครับ ขอบคุณล่วงหน้าครับ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#6
Post
by bank9597 » Thu Aug 23, 2012 12:46 pm
sahavit wrote: ขอโทษครับที่ผมอธิบายไม่ละเอียดครับโดยอย่างที่คุณเคยบอกครับมันจาเป็นเพียงแค่การเอาค่ามาป้อนสู้หน้าสุดท้ายที่ลิงค์ไปแต่ในmacro แต่ละsheetครับจะมีการป้อนรับค่าเพื่อคำนวณหาค่าP Tไหม่เสมอครับคือถ้าผมใช้codeตามคุณว่ามันจะไม่มีการรับค่าไหม่ครับ ผมขอความกรุณาคุณลองrunในsheet อื่นครับผมว่าคุณน่าจะเข้าใจครับ ขอบคุณล่วงหน้าครับ
ขออภัยจริงๆครับ ผมยังไม่เข้าใจจริงๆ เดี๋ยวรอท่านอื่นเข้ามาช่วยแนะนำอีกครั้งน่ะครับ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
sahavit
Member
Posts: 19 Joined: Sat Aug 18, 2012 10:02 am
#7
Post
by sahavit » Thu Aug 23, 2012 12:51 pm
ครับผม ขอบคุณครับที่ช่วยดูให้ผม
snasui
Site Admin
Posts: 31253 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#8
Post
by snasui » Thu Aug 23, 2012 8:58 pm
ให้นำ Code ด้านล่างไว้ใน Module1 สำหรับ Code ในชีทอื่น ๆ ให้ลบทิ้งไปให้หมดครับ จากนั้น สร้างปุ่มขึ้นมาใหม่จาก Form Control ปุ่มเดิมที่สร้างจาก ActiveX Control ให้ลบทิ้ง แล้ว Assign Macro CommandButton1- CommandButton4 ให้กับปุ่มที่สร้างขึ้นใหม่โดยคลิกขวาที่ปุ่มแล้วเลือก Assign Macro สำหรับการ Post Code ให้แสดงเป็น Code ดูได้จากที่นี่ จะได้ง่ายต่อการอ่าน
viewtopic.php?f=3&t=1187
Code: Select all
Sub Macro1(x)
Dim i As Integer
On Error Resume Next
With Sheets(x)
For i = 1 To 109
If i = 1 Then
Rpipe = InputBox("input rpipe")
.Range("r16") = Rpipe
Pinttank1 = InputBox("input P1int")
.Range("r1") = Pinttank1
r1 = InputBox("input R1")
.Range("r14") = r1
Temperature1 = InputBox("input T1int")
.Range("r3") = Temperature1
.Range("b156") = .Range("r1")
.Range("d156") = .Range("r2")
.Range("f156") = .Range("r3")
Vguess = InputBox("input specificvolumn1")
.Range("D157") = Vguess
.Range("b157").Formula = "=B156"
.Range("b158").Formula = "=m27*F156/D157+B162*m27*F156/D157^2"
.Range("b159").Formula = "=B157-B158"
.Range("b159").Select
.Range("b159").GoalSeek Goal:=0, ChangingCell:=.Range("D157")
.Range("a3") = .Range("d158")
r2 = InputBox("input r2")
.Range("r15") = r2
Temperature2 = InputBox("input T2int")
.Range("r6") = Temperature2
.Range("b165") = .Range("r4")
.Range("d165") = .Range("r5")
.Range("f165") = .Range("r6")
Vguess = InputBox("input specificvolumn2")
.Range("D166") = Vguess
.Range("b166").Formula = "=B165"
.Range("b167").Formula = "=m27*F165/D166+B171*m27*F165/D166^2"
.Range("b159").Formula = "=B166-B167"
.Range("b168").Select
.Range("b168").GoalSeek Goal:=0, ChangingCell:=.Range("D166")
.Range("b3") = .Range("d167")
.Range("b178").Formula = "=(F165+273)/2"
.Range("b185").Formula = "=(B178*B184+B181)*(B156-1)/10"
.Range("b186").Formula = "=B177+B185"
.Range("c3") = .Range("b186")
.Range("b190").Formula = "=F165-273"
.Range("d3") = .Range("b191")
guessTemp1 = InputBox("input T1")
.Range("c119") = guessTemp1
.Range("b113").Formula = "=a4"
.Range("b114") = .Range("a1") / Range("a4")
.Range("b140").Formula = "= ((C3-D3)/2)*(D1/A4)"
.Range("b138").Formula = "= c3+b140"
.Range("b139").Select
.Range("b139").GoalSeek Goal:=0, ChangingCell:=.Range("c119")
.Range("g2") = .Range("c119")
.Range("f2") = .Range("b132")
.Range("c4") = .Range("b138")
.Range("b113").Formula = "=b4"
.Range("b114") = Range("b1") / Range("b4")
guessTemp1 = InputBox("input T2")
.Range("c119") = guessTemp1
.Range("b140").Formula = "= ((C3-D3)/2)*(D1/b4)"
.Range("b138").Formula = "= D3+b140"
.Range("b139").Select
.Range("b139").GoalSeek Goal:=0, ChangingCell:=.Range("c119")
.Range("b146").Formula = "=SQRT((f2-h2)*10^5)"
.Range("i2") = .Range("c119")
.Range("h2") = .Range("b132")
.Range("d4") = .Range("b138")
.Range("j2") = .Range("b151")
Else
If .Range("f" & i) < .Range("h" & i) Then Exit For
.Range("b113") = .Range("a" & i + 3)
.Range("b114") = .Range("a1") / .Range("a" & i + 3)
.Range("a142") = .Range("c" & i + 2)
.Range("a144") = .Range("a" & i + 4)
.Range("b142") = .Range("d" & i + 2)
.Range("b140").Formula = "= ((a142-b142)/2)*(D1/A144)"
.Range("b138").Formula = "= a142+b140"
.Range("b139").Select
.Range("b139").GoalSeek Goal:=0, ChangingCell:=.Range("c119")
.Range("c" & i + 3) = .Range("b138")
.Range("G" & i + 1) = .Range("c119")
.Range("F" & i + 1) = .Range("b132")
.Range("b144") = .Range("b" & i + 4)
.Range("b113") = .Range("b" & i + 3)
.Range("b114") = Range("b1") / Range("b" & i + 3)
.Range("b140").Formula = "= ((a142-b142)/2)*(D1/b144)"
.Range("b138").Formula = "= b142+b140"
.Range("b139").Select
.Range("b139").GoalSeek Goal:=0, ChangingCell:=.Range("c119")
.Range("b146").Formula = "=SQRT((a154-b154)*10^5)"
.Range("a154") = .Range("f" & i + 1)
.Range("b154") = .Range("h" & i + 1)
.Range("i" & i + 1) = .Range("c119")
.Range("h" & i + 1) = .Range("b132")
.Range("d" & i + 3) = .Range("b138")
.Range("j" & i + 1) = .Range("j" & i) + .Range("b151")
.Range("r12") = .Range("j" & i + 1)
.Range("r8") = .Range("f" & i + 1)
.Range("r10") = .Range("h" & i + 1)
.Range("r9") = .Range("g" & i + 1)
.Range("r11") = .Range("i" & i + 1)
End If
Next i
End With
End Sub
Sub CommandButton1_Click()
Call Macro1("nitrogen")
End Sub
Sub CommandButton2_Click()
Call Macro1("oxygen")
End Sub
Sub CommandButton3_Click()
Call Macro1("hydrogen")
End Sub
Sub CommandButton4_Click()
Call Macro1("argon")
End Sub
sahavit
Member
Posts: 19 Joined: Sat Aug 18, 2012 10:02 am
#9
Post
by sahavit » Mon Aug 27, 2012 11:08 am
รบกวนถามอีกหน่อยครับถ้าผมอยากให้มันรับค่าจากrange("r8")ไปแสดงที่range("d1")
ผมพิมcodeแบบนี้ได้ไหมครับ
Code: Select all
Sheets(Sheet3).Range("d1") = Sheets(x).Range("r8")
snasui
Site Admin
Posts: 31253 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#10
Post
by snasui » Mon Aug 27, 2012 3:10 pm
ลองเลยครับ ลองแล้วติดปัญหาตรงไหนสามารถถามมาได้ครับ
sahavit
Member
Posts: 19 Joined: Sat Aug 18, 2012 10:02 am
#11
Post
by sahavit » Mon Aug 27, 2012 3:14 pm
ลองแล้วครับมันดูรู้ว่าrun นะครับแต่ค่าไม่ได้ถูกส่งมาครับ
snasui
Site Admin
Posts: 31253 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#12
Post
by snasui » Mon Aug 27, 2012 3:48 pm
ลองตรวจสอบง่าย ๆ ด้วย MessageBox ว่ามันมีค่าอะไรครับ เช่น