กฏกติกาของฟอรัม : แจ้งชื่อและนามสกุลจริงในการสมัครสมาชิก--ตั้งชื่อกระทู้ให้ตรงกับปัญหาที่ถาม--เขียนอธิบายคำถามทั้งในตัวกระทู้และในแฟ้มแนบให้ละเอียด--ห้ามใช้คำว่า อ่ะ คับ หรือคำผวน หรือคำที่ไม่มีในพจนานุกรมไทย--โปรดตั้งชื่อแฟ้มให้สื่อถึงปัญหาที่ถาม--อย่าระบุชื่อให้คนใดคนหนึ่งเป็นผู้ตอบ--งดให้ความร่วมมือหรือช่วยตอบคำถาม กระทู้ที่ละเมิดกฏกติกาของฟอรัม
Results 1 to 7 of 7

Thread: การอ้างอิง Range ระหว่าง Sheet

  1. #1
    Excel Expert Volunteer Nongmod's Avatar
    Join Date
    May 2007
    Location
    ศรีราชา ชลบุรี
    Job
    วิทยากร ,ที่ปรึกษา ด้านการเพิ่มผลการผลิต และ Lean Manufacturing
    Version
    Excel2003 Windows XP
    Posts
    169
    Post Thanks / Like

    Icon7 การอ้างอิง Range ระหว่าง Sheet

    1. ผมมีปัญหาเวลาเขียน Code อ้างอิง Range ระหว่างสอง Sheet ซึ่งรูปแบบการเขียนต้องเป็นแบบไหนครับ
    Range(Cells(i, 59), Cells(i, 69)) = Sheets("shortage").Range(Cells(RowRef, 10), Cells(RowRef, 29)).Value
    ซึ่งในตัวอย่างข้างบนไม่สามารถใช้ได้ครับ รบกวนขอคำแนะนำด้วยครับ
    2. คล้ายๆกับคำถามแรกครับแต่เป็นการ Find ข้าม Sheet โดยที่ไม่ต้องไปเลือก sheet ที่ต้องการ Find ทำได้ไหมครับ
    ปกติผมจะเขียนแบบนี้ครับ
    Sheets(2).select ' ต้องการหาที่ Sheet2 ซึ่งไม่ใช่ active sheet ซึ่งผมต้องการยกเลิกบรรทัดนี้ครับ
    Columns("A:A").select
    RowRef = selection.Find(What:=PartNo, After:=ActiveCell).Row
    รบกวนขอคำแนะนำด้วยครับ:)
    Last edited by Nongmod; 30 Aug 2007 at 17:27.

  2. #2
    Excel Expert Volunteer อรวีร์'s Avatar
    Join Date
    May 2007
    Location
    นนทบุรี&ปทุมธานี
    Job
    IT Expert
    Version
    Excel 2003/2007 & Windows XP
    Posts
    1,573
    Post Thanks / Like
    Blog Entries
    3

    Default Evaluate( )

    ข้อ 1 ก่อนค่ะ ลองใช้แบบนี้ดูค่ะ
    Range(Cells(i, 59), Cells(i, 69)).Value = Evaluate("shortage!J" & RowRef & ":AC" & RowRef).Value

  3. #3
    Excel Expert Volunteer อรวีร์'s Avatar
    Join Date
    May 2007
    Location
    นนทบุรี&ปทุมธานี
    Job
    IT Expert
    Version
    Excel 2003/2007 & Windows XP
    Posts
    1,573
    Post Thanks / Like
    Blog Entries
    3

    Default Set Range=Workbook.Worksheet.Range.Find( )

    ข้อ 2 ค่ะ
    Dim FoundCell As Range
    Set FoundCell = Sheets(2).Columns(1).Find(What:=PartNo)
    If FoundCell Is Nothing Then
    MsgBox "ค้นหา " & PartNo & " ไม่พบค่ะ"
    Else
    RowRef = FoundCell.Row
    End If

  4. #4
    Excel Expert Volunteer Nongmod's Avatar
    Join Date
    May 2007
    Location
    ศรีราชา ชลบุรี
    Job
    วิทยากร ,ที่ปรึกษา ด้านการเพิ่มผลการผลิต และ Lean Manufacturing
    Version
    Excel2003 Windows XP
    Posts
    169
    Post Thanks / Like

    Default

    ขอบคุณมากๆครับ จะลองนำไปใช้ดูนะครับ:D

  5. #5
    Excel Expert Volunteer Nongmod's Avatar
    Join Date
    May 2007
    Location
    ศรีราชา ชลบุรี
    Job
    วิทยากร ,ที่ปรึกษา ด้านการเพิ่มผลการผลิต และ Lean Manufacturing
    Version
    Excel2003 Windows XP
    Posts
    169
    Post Thanks / Like

    Default

    Quote Originally Posted by อรวีร์ View Post
    ข้อ 1 ก่อนค่ะ ลองใช้แบบนี้ดูค่ะ
    Range(Cells(i, 59), Cells(i, 69)).Value = Evaluate("shortage!J" & RowRef & ":AC" & RowRef).Value
    ผมรบกวนถามเพิ่มนะครับ ในกรณีที่ คอลัมน์ไม่คงที่เราจะแทนค่าด้วยตัวแปลยังไงครับ ซึ่งตัวแปลรับค่ามาเป็นตัวเลขครับ

  6. #6
    Excel Expert Volunteer อรวีร์'s Avatar
    Join Date
    May 2007
    Location
    นนทบุรี&ปทุมธานี
    Job
    IT Expert
    Version
    Excel 2003/2007 & Windows XP
    Posts
    1,573
    Post Thanks / Like
    Blog Entries
    3

    Icon7

    SourceRow = i
    SourceCol = 59
    RowRef = 4
    FromCol = 10
    ToCol = 29
    Addr = Range(Cells(RowRef, FromCol), Cells(RowRef, ToCol)).Address
    Range(Cells(SourceRow, SourceCol), Cells(SourceRow, SourceCol + (ToCol - FromCol))).Value = Evaluate("shortage!" & Addr).Value

  7. #7
    Excel Expert Volunteer Nongmod's Avatar
    Join Date
    May 2007
    Location
    ศรีราชา ชลบุรี
    Job
    วิทยากร ,ที่ปรึกษา ด้านการเพิ่มผลการผลิต และ Lean Manufacturing
    Version
    Excel2003 Windows XP
    Posts
    169
    Post Thanks / Like

    Default

    คุณอรวีขอบคุณมกาๆเลยครับ ผมเคยใช้ address แล้วแต่เกิดปัญหาจึงคิดว่าใช้ไม่ได้
    แต่เมื่อลองดู Code ของคุณอรวีร์แล้ว ทำให้นึกออกว่า Object ที่ผมเลือกค้างอยู่คือ Chart ทำให้ใช้ไม่ได้ จึงเกิด Error 1004

Similar Threads

  1. Replies: 1
    Last Post: 4 Nov 2009, 08:01
  2. Replies: 5
    Last Post: 20 Apr 2009, 22:59
  3. Replies: 6
    Last Post: 6 Oct 2008, 13:20
  4. Replies: 2
    Last Post: 19 Aug 2008, 11:15
  5. Replies: 1
    Last Post: 20 Jun 2008, 11:02

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •