Announcement

Collapse

ยินดีต้อนรับสู่ Excel Expert Training Forum

กฏกติกาของฟอรัม: แจ้งชื่อและนามสกุลจริงในการสมัครสมาชิก - ตั้งชื่อกระทู้ให้ตรงกับปัญหาที่ถาม - เขียนอธิบายคำถามทั้งในตัวกระทู้และในแฟ้มแนบ - ห้ามใช้คำว่า อ่ะ คับ คำผวน - ตั้งชื่อแฟ้มเป็นภาษาอังกฤษให้สื่อถึงปัญหา - อย่าระบุชื่อให้คนใดเป็นผู้ตอบ - งดให้ความร่วมมือหรือช่วยกระทู้ที่ละเมิดกฏของฟอรัม
See more
See less

Excel VBA Code ส่ง ข้อมูลข้ามsheet เอาไปเก็บไว้ในตารางโดยข้อมูลไม่ซ้ำกัน

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Excel VBA Code ส่ง ข้อมูลข้ามsheet เอาไปเก็บไว้ในตารางโดยข้อมูลไม่ซ้ำกัน


    Excel VBA Code กรอก ข้อมูลใน sheet "splincal " D4,D6,D8,D10,D12,D14,D16,F10,H12,I14 แล้วส่ง data ไปเก็บไว้ในตารางใน sheet G โดยที่ข้อมูลไม่ซ้ำกันครับ ต้องเขียนcode อย่างไรครับ
    ตาม file excel ที่แนบมาครับ ขอบคุณครับ
    Attached Files
    Last edited by Giggs; 18 Mar 2019, 17:00.

  • #2
    คำว่าไม่ซ้ำกันคือยังไงครับ

    Comment


    • #3
      ต้องการทำฐานข้อมูลครับ ,หมายถึง ข้อใหม่จะ ถูก เพิ่มเข้าไปใน ตาราง ใน sheets "G" เรื่อยๆ โดนที่ข้อมูลไม่ ทับกันกับข้อมูลเดิมครับ
      ขอบคุณ คุณ Vajaraphol ที่สอบถามครับ

      Comment


      • #4
        ใช้ code นี้ครับ แต่ D4 ผมไม่แน่ใจค่า เลยไม่รู้เอาไปวางที่ใหน
        Sub AddData()
        Data = [{"D4","D6","D8","D10","D12","D14","D16","F10","H12","I14"}]
        Lastrow = Sheets("G").Range("B2").End(xlDown).Row
        For i = 2 To 10
        Sheets("G").Cells(Lastrow + 1, i) = Range(Data(i)).Value
        Next i
        End Sub
        Attached Files

        Comment


        • #5
          ขอบคุณ คุณ Vajaraphol มากครับ สูตรนี้มีประโยชน์ มากครับ, ผมเลยลองผิดลองถูก แก้ไข เพื่อเพิ่ม data D4 เข้าไป ตารางsheet "G" ผลลัพธ์ตรงตามความต้อง การ
          แต่สูตรนี่ มีการ Run time error 1004 เกิิดขึ้น ในกรณีที่ B3 เป็นเซลว่าง
          คำถาม คือ เราจะ เขียน VBA code อย่างไร เพื่อดึงข้อมูล จาก sheet "splincal" ไป วาง ใน Range ( B3:K3 ) ในตาราง sheet "G"

          Sub AddData()
          Data = [{"D2","D4","D6","D8","D10","D12","D14","D16","F10","H12","I14"}]
          Lastrow = Sheets("G").Range("B2").End(xlDown).Row
          For i = 2 To 11
          Sheets("G").Cells(Lastrow + 1, i) = Range(Data(i)).Value
          Next i
          End Sub

          ขอบคุณ ครับ
          Attached Files

          Comment


          • #6
            กรณี error แก้ไขแถวนี้ครับ
            Lastrow = Sheets("G").Range("B10000").End(xlUp).Row

            Comment


            • #7
              VBA code ที่ให้มาตรงตามความต้องการ ใช้งานครับ ขอบคุณ คุณ Vajaraphol มากครับ
              คำถามสุดท้ายสำหรับ หัวข้อนี้คือ
              ในกรณีเราไม่ต้องการ ข้อมูล " D6" ใน sheet "splincal",
              เพราะ เราสร้าง สููตร หรือ ฟังก์ชั่น ไว้ที คอลัมน์ C3:C10000 ในตาราง sheet "G" ยกตัวอย่าง เช่น =TODAY() และไม่ต้องการให้สูตรโดนลบ
              เราจะเขียน VBA code อย่างไร เพื่อส่งค่า จาก sheet Splincal , ไปที่ " B3" ,และ ข้าม cell. ไป "D3:K3" โดยที่ C3 มี สููตร หรือ ฟังก์ชั่นอยู่ครับ

              ขอบคุณครับ



              Sub AddData()
              Data = [{"D2","D4","D6","D8","D10","D12","D14","D16","F10","H12","I14"}]
              Lastrow = Sheets("G").Range("B10000").End(xlUp).Row


              For i = 2 To 11
              Sheets("G").Cells(Lastrow + 1, i) = Range(Data(i)).Value
              Next i
              End Sub

              Comment


              • #8
                Sub AddData()
                Data = [{"D2","D4","D6","D8","D10","D12","D14","D16","F10","H12","I14"}]
                Lastrow = Sheets("G").Range("B10000").End(xlUp).Row

                Sheets("G").cells(lastrow+1,2) = Range(Data(2)).value

                For i = 4 To 10
                Sheets("G").Cells(Lastrow + 1, i) = Range(Data(i)).Value
                Next i
                End Sub

                หรือจะให้ VBA ใส่สูตรให้ก็ได้นะครับ จะได้ไม่ต้อง ก๊อปปี้สูตรเผื่อไว้เยอะๆ ทำให้ไฟล์ทำงานมากขึ้นโดยเปล่าประโยชน์

                Comment


                • #9
                  ขอบคุณ คุณ Vajaraphol มาก ครับ ขอรบกวนช่วยลองเขียน Vba code สำหรับ Function =TODAY() เพื่อเพิ่มความรู้ด้วยครับ

                  Comment


                  • #10
                    = date
                    หรือใช้
                    =Now() ได้ทั้งเวลาและวันที่
                    ถ้าจะเอาเฉพาะวันที่ =int(now()) ก็ได้ครับ

                    อ้อลืมไป ถ้าต้องการให้ใส้สูตร today() ในเซลล์ A1
                    range("A1").formula = "=Today()")
                    Last edited by Vajaraphol; 21 Mar 2019, 08:43.

                    Comment


                    • #11
                      ขอบคุณมากครับ

                      Comment

                      Working...
                      X