穆清 asked in 電腦與網際網路軟體 · 1 decade ago

excel 表單歸檔sheet間的複製的位址問題-20點

請問大大,請問各sheet間複製的問題

之前研究了表單歸檔的巨集仍不太得要領,

其實只是位址對應的問題,

如果我是要將我需要的資料一列一列排列,

而且遇到空白就停止,

每次執行就從sheet2接下去貼上

示意如下:

假設要將sheet1位址上的資料

A1

A2 B2

A3 B3

.

.

.

複製到sheet2,其排列如下

A1 A2 B2 <--sheet1位置的資料

A1 A3 B3 <--同上

.

.

.

Update:

複製過去的內容只要是數值就可以了

Update 2:

Sub list()

For i = 11 To Sheets("Sheet1").[A65536].End(xlUp).Row

j = Sheets("Sheet1").Cells(i, 256).End(xlToLeft).Column

k = Sheets("Sheet2").[A65536].End(xlUp).Row + 1

Update 3:

For m = 4 To 7

Sheets("Sheet2").Cells(k, 1) = Sheets("Sheet1").Cells(5, 6)

Sheets("Sheet2").Cells(k, 2) = Sheets("Sheet1").Cells(1, 10)

Sheets("Sheet2").Cells(k, 3) = Sheets("Sheet1").Cells(6, 6)

Update 4:

Sheets("Sheet2").Cells(k, 4) = Sheets("Sheet1").Cells(9, 8)

Sheets("Sheet2").Cells(k, m + 1) = Sheets("Sheet1").Cells(i, m)

Next m

Next i

End Sub

Update 5:

不好意思~~請問一下~~

我照您的資料修改了部分的地方~~

一開始剛修改完使用都沒有問題~~

但是用一陣子之後~~就會出現"陣列索引超出範圍"的錯誤訊息

在偵錯的時候會指在For i = 11...這一行

還請問大師這是怎麼樣的問題呢

Update 6:

再不好意思一次~~~

我將我修改過的巨集複製到你的檔案中是可以執行的~~

那為啥在我這邊會出現"陣列索引超出範圍"的錯誤訊息呢

而且是一開始可以執行~~用沒幾次之後就開始會出現這錯誤訊息

真是完全沒頭緒~~

Update 7:

咦咦~~~不會上傳耶

看來我該再開個問題問如何在這兒上傳檔案

不過我將表格和巨集分別複製到新檔案裡~~卻又正常了~~真怪

1 Answer

Rating
  • 1 decade ago
    Best Answer

    圖片參考:http://tw.yimg.com/i/tw/ugc/rte/smiley_4.gif

    不是很清楚需求,請看看以下程式碼

    Sub 按鈕1_Click()

    Sheets("Sheet2").Cells(1, 1) = Sheets("Sheet1").Cells(1, 1)

    For i = 2 To Sheets("Sheet1").[A65536].End(xlUp).Row

    j = Sheets("Sheet1").Cells(i, 1).End(xlToRight).Column

    k = Sheets("Sheet2").[A65536].End(xlUp).Row + 1

    For m = 2 To j

    Sheets("Sheet2").Cells(k, 1) = Sheets("Sheet1").Cells(1, 1)

    Sheets("Sheet2").Cells(k, m) = Sheets("Sheet1").Cells(i, m)

    Next m

    Next i

    End Sub

    圖片參考:http://tw.yimg.com/i/tw/ugc/rte/smiley_4.gif

    或請下載附檔

    http://www.FunP.net/7557068

    2008-04-29 11:39:52 補充:

    修正一下

    Sub 按鈕_Click()

    Sheets("Sheet2").Cells(1, 1) = Sheets("Sheet1").Cells(1, 1)

    For i = 2 To Sheets("Sheet1").[A65536].End(xlUp).Row

    j = Sheets("Sheet1").Cells(i, 256).End(xlToLeft).Column

    k = Sheets("Sheet2").[A65536].End(xlUp).Row + 1

    2008-04-29 11:39:57 補充:

    For m = 1 To j + 1

    Sheets("Sheet2").Cells(k, 1) = Sheets("Sheet1").Cells(1, 1)

    Sheets("Sheet2").Cells(k, m + 1) = Sheets("Sheet1").Cells(i, m)

    Next m

    Next i

    End Sub

    2008-04-29 11:40:46 補充:

    請下載附檔

    http://www.FunP.net/1658631

    2008-05-05 12:56:57 補充:

    可以將您的檔案上傳嗎?

Still have questions? Get your answers by asking now.