small 發問時間: 電腦與網際網路軟體 · 8 年前

excel 巨集錄製問題

附檔

https://www.dropbox.com/s/x3qyf7wn4r3h65d/book.xls...

請問

有一個EXCEL表,

希望把在本表中的銀行中的 分行格 移至 銀行旁的分行別欄中,

再刪除空白的那一行

使成為像前三行那樣

因為有上千筆資料要修改

能用巨集錄製有法達成此目的?

2 個解答

評分
  • 冰淇
    Lv 6
    8 年前
    最佳解答

    Sheet2!A2公式

    =INDIRECT("Sheet1!"&CHAR(64+COLUMN())&(ROW()-1)*2)

    又拉至Sheet2!E2

    ~

    更改Sheet2!B2公式為

    =INDIRECT("Sheet1!"&CHAR(63+COLUMN())&(ROW()-1)*2+1)

    ~選Sheet2!A2:E2

    下拉至需求

    ~

    ps.先將前三筆資料更回原格式

    2013-02-17 13:42:53 補充:

    Sheet2!A2公式

    =INDIRECT("Sheet1!"&CHAR(64+COLUMN())&(ROW()-1)*2)

    向右拉至Sheet2!E2

    ~

    字軌欄有圖嗎???

    2013-02-17 13:44:43 補充:

    Sub t()

    Dim xAr(1 To 5), Jm%

    Jm = 2

    With Sheets("Sheet1")

    For i = 2 To [Sheet1!A65536].End(xlUp).Row Step 2

    xAr(1)=.Cells(i, 1)

    xAr(2)=.Cells(i + 1, 1)

    xAr(3)=.Cells(i, 3)

    xAr(4)=.Cells(i, 4)

    xAr(5)=.Cells(i, 5)

    Sheets("Sheet3").Cells(Jm, 1).Resize(1, 5) = xAr

    Jm = Jm + 1

    Next

    End With

    End Sub

    2013-02-17 17:44:16 補充:

    選取Sheet2的[A2:E2]儲存格

    貼上公式

    =INDIRECT("Sheet1!"&CHAR(64+COLUMN())&(ROW()-1)*2)

    ~

    更改Sheet2!B2公式為

    =INDIRECT("Sheet1!"&CHAR(63+COLUMN())&(ROW()-1)*2+1)

    ~

    選Sheet2!A2:E2

    下拉至需求

    ~

    VBA

    Sub t()

     Dim xAr(1 To 5), Jm%

     Jm = 2

     With Sheets("Sheet1")

     For i = 2 To [Sheet1!A65536].End(xlUp).Row Step 2

      xAr(1)=.Cells(i, 1)

      xAr(2)=.Cells(i + 1, 1)

      xAr(3)=.Cells(i, 3)

      xAr(4)=.Cells(i, 4)

      xAr(5)=.Cells(i, 5)

      Sheets("Sheet3").Cells(Jm, 1).Resize(1, 5) = xAr

      Jm = Jm + 1

     Next

     End With

    End Sub

  • 8 年前

    謝謝你..我成功了~~!! 感謝你~!!

還有問題?馬上發問,尋求解答。