Board logo

標題: 每隔多少欄插入多少欄程式錯誤需幫忙 [打印本頁]

作者: Genie    時間: 2012-9-19 15:13     標題: 每隔多少欄插入多少欄程式錯誤需幫忙

有一個程式 是希望它能每隔多少欄插入多少欄
但有一個地方一直出現錯誤 (Mark 紅色處)
希望能夠幫我看一下 謝謝∼
程式如下:

Sub 插入欄()
   
    Dim BeginCol As Long, AA As Long, Temp As String, InsCol As Long
    Dim myRow As Integer, tempCol As Long
   
    myRow = Selection.Row
    BeginCol = Selection.Column
   
    Temp = InputBox("隔幾欄")
   
        If IsNumeric(Temp) Then AA = CLng(Temp) Else Exit Sub
   
    Temp = InputBox("插入幾欄")
            
        If IsNumeric(Temp) Then InsCol = CLng(Temp) Else Exit Sub
   
    Application.ScreenUpdating = False
   
    Do While True
        tempCol = Range(Cells(myRow, 255), Cells(myRow, 255)).End(xlToLeft).Column
        If tempCol < (BeginCol + AA) Then Exit Do
        BeginCol = BeginCol + AA
        Columns(BeginCol & ":" & BeginCol + InsRow - 1).Insert Shift:=xlToRight
        BeginCol = BeginCol + InsCol
    Loop
        
    Application.ScreenUpdating = True
   
End Sub
作者: GBKEE    時間: 2012-9-19 16:33

本帖最後由 GBKEE 於 2012-9-20 15:10 編輯

回復 1# Genie
Columns( BeginCol & ":" & BeginCol + InsRow - 1).Insert Shift:=xlToRight
這裡有錯誤: 單欄可用數字 如 E欄 :  5 , 多欄需用文字 如 "A:D"
作者: Genie    時間: 2012-9-19 17:08

所以我該從一開始的定義就開始改是嗎?
還是可以把 Columns 用別的參數做取代呢?
謝謝∼
作者: luhpro    時間: 2012-9-19 21:32

本帖最後由 luhpro 於 2012-9-19 21:34 編輯
所以我該從一開始的定義就開始改是嗎?
還是可以把 Columns 用別的參數做取代呢?
謝謝∼
Genie 發表於 2012-9-19 17:08

意思是以 Columns 來表示多個欄位時,
後面要放表示欄位名稱的英文字而不能放數字, (數字是表示多列時在用的)
不過這倒可以用 Chr(64 + 欄位序號) 的方式來轉換.

轉換後的程式可以如下 :

Columns(Chr(64 + BeginCol) & ":" & Chr(64 + BeginCol + InsCol - 1)).Insert Shift:=xlToRight

你程式中上列應是 InsCol 而非 InsRow 喔.

另 tempCol = Range(Cells(myRow, 255), Cells(myRow, 255)).End(xlToLeft).Column
可以簡化為 :  tempCol = Cells(myRow, 255).End(xlToLeft).Column
作者: chin15    時間: 2012-9-19 22:02

不好意思,插個花
Chr(64 + BeginCol)在欄位大於26時就出現問題了
個人建議的方法是
  1. Cells(1, BeginCol).Resize(, InsCol).EntireColumn.Insert
複製代碼

作者: luhpro    時間: 2012-9-19 22:13

本帖最後由 luhpro 於 2012-9-19 22:14 編輯

回復 5# chin15
晤...
這個討論區系統好像沒有類似 "留言" 的功能
所以只能用回文的方式來回應囉.

--- 以下是回應的內容 ---
嗯...
你提供的方式比我的完善多了,
值得記下來.

PS 剛剛發了個報告, 以為是留言功能,
但又發現好像討論串看不到 "報告" 的內容, 所以請管理者忽略該報告.
作者: Genie    時間: 2012-9-20 10:19

謝謝 luhpro 和 chin15 解決了我的問題
同時也學到了新的用法

非常感謝∼




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)