:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

แทรกแถวไม่ได้

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
pk750
Member
Member
Posts: 8
Joined: Tue Jun 17, 2014 9:18 pm

แทรกแถวไม่ได้

#1

Post by pk750 »

เรียน คนควน

รบกวนแก้ไข vba ให้สมบูรณ์หน่อยครับ ผมใช้มันแล้วไม่สามารถแทกรแถวได้ครับ ฟ้อง error ตลอด
error ที่ฟ้องคือ To prevent possible loss of data, Excel cannot shift nonblank cell off of the worksheet. Select another location in which to insert new cells, or deletedate. If you do not have data in cell that can be shifted off of the worksheet, you can reset which cell Excel considers nonblank, T^o do this, press CTRT + End to locate the last nonblank cell on the worksheet delete this cell and all cells between it and the last row and column of your data the save.


ส่วน vba ของผมคือ อันนี้ครับ
Sub price()

Worksheets("PRICE ").Select
Range("B4").Select
ActiveCell.FormulaR1C1 = _
"=IF(R2C-1='RATE '!R1C1,VLOOKUP(RC1,'RATE '!R4C1:R4000C6,6,0))"
Selection.AutoFill Destination:=Range("B4:B700")
Range("B4:B700").Select
Columns("B:B").Select
Selection.Copy
Selection.Insert Shift:=xlToRight
Columns("C:C").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=RC[1]+1"
Range("B3").Select
End Sub
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แทรกแถวไม่ได้

#2

Post by snasui »

:D การที่แทรกแถวไม่ได้เนื่องจากบรรทัดสุดท้ายหรือก่อนหน้านั้นไม่เป็นบรรทัดว่าง Microsoft Excel จึงฟ้องเช่นนั้น การที่ไม่ว่างอาจจะเกิดจากไม่ได้ตั้งใจ เช่นเผลอไปโดน Space bar ขณะที่ Cursor อยู่ในบรรทัดสุดท้ายของ Worksheet จะทำให้เซลล์นั้นไม่เป็นเซลล์ว่างทันที

กรณีเช่นนี้ให้ไปยังบรรทัดสุดท้ายที่มีข้อมูล แล้วลบค่าในบรรทัดหลังจากนั้นทิ้งไปทั้งหมดครับ

สำหรับการโพสต์ Code ให้แสดงเป็น Code อ่านที่กระทู้นี้ครับ viewtopic.php?f=3&t=1187
pk750
Member
Member
Posts: 8
Joined: Tue Jun 17, 2014 9:18 pm

Re: แทรกแถวไม่ได้

#3

Post by pk750 »

ขอบคุณมากพี่หลวง เดียวผมวาง code ให้ รบกวนแก้ให้สมบูรณ์ทีครับ

Code: Select all

Sub price()

Worksheets("PRICE ").Select
Range("B4").Select
ActiveCell.FormulaR1C1 = _
"=IF(R2C-1='RATE '!R1C1,VLOOKUP(RC1,'RATE '!R4C1:R4000C6,6,0))"
Selection.AutoFill Destination:=Range("B4:B700")
Range("B4:B700").Select
Columns("B:B").Select
Selection.Copy
Selection.Insert Shift:=xlToRight
Columns("C:C").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=RC[1]+1"
Range("B3").Select
End Sub
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แทรกแถวไม่ได้

#4

Post by snasui »

:D ที่บอกว่าไม่สมบูรณ์ ติดขัดบรรทัดไหน อย่างไรครับ :?:
pk750
Member
Member
Posts: 8
Joined: Tue Jun 17, 2014 9:18 pm

Re: แทรกแถวไม่ได้

#5

Post by pk750 »

Selection.AutoFill Destination:=Range("B4:B700")
Range("B4:B700").Select

บรรทัดนี่อะครับ ผมสามารถแก้ให้มันเป็นแทรกทั้ง Columns ได้ไหมครับ
คือว่าผมไม่ได้เขียนอะครับ ใช้วิธีให้มันจดจำเอา ทำแบบง่ายๆนะครับ ทำเป็นเรื่องเป็นราวไม่เป็น ไม่ทราบว่ารับสอนใหม่ครับ แฮะๆ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แทรกแถวไม่ได้

#6

Post by snasui »

:D ต้องการให้แทรกเท่าใดก็เปลียนตรง Range("B4:B700") เป็นช่วงเซลล์ที่ต้องการครับ ตัวเลข 700 จะปรับเป็นเท่าไรก็ได้ที่ไม่เกินบรรทัดทั้งหมดของชีทนั้น ๆ ครับ
pk750
Member
Member
Posts: 8
Joined: Tue Jun 17, 2014 9:18 pm

Re: แทรกแถวไม่ได้

#7

Post by pk750 »

ขอบคุณครับ ขอถามอีกข้อนะครับ

ถ้าหากว่าผมแทร แทวจนเต็มถึง แถว IV แล้วแต่ยังจำเป็นต้องใช้ Sheet นี่อยู่ต้องทำไงครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แทรกแถวไม่ได้

#8

Post by snasui »

:D ไม่เข้าใจครับ

จะแทรกไปเท่าใดหรือจะไม่แทรกก็สามารถยังจะใช้ได้อยู่ ไม่ทราบมีปัญหาใดครับ
pk750
Member
Member
Posts: 8
Joined: Tue Jun 17, 2014 9:18 pm

Re: แทรกแถวไม่ได้

#9

Post by pk750 »

คือผมเข้าใจว่า excel มีแถวแค่ แถว IV ครับ ถ้าใช้งานเต็มแล้วจะแทรกได้อีกเหรอครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แทรกแถวไม่ได้

#10

Post by snasui »

:D IV คือคอลัมน์ ไม่ใช่แถว

และไม่ว่าจะเป็นแถวหรือคอลัมน์ จะไม่สามารถลดให้เหลือน้อยลงหรือเพิ่มให้มากขึ้นได้อีก มีเท่าไรก็เท่านั้นครับ
Post Reply