返回列表 上一主題 發帖

[發問] 不同sheet之間抓取資料

[發問] 不同sheet之間抓取資料

最近剛接觸VBA 所以有些東西還不是很熟
下面這個問題我google一天了還是找不到解決的辦法




我有兩個column 的資料 ( 文字)   分別在不同的工作表

sheet1 :   a
                   b
                   c
                   d
                   e
                   f   

sheet2 : a
                 1 2 3 4 5
                 6 7 8 9 10
                 b
                 1 2 3 4 5
                 6 7 8 9 10
                 c
                1 2 3 4 5
                6 7 8 9 10
               e
               1 2 3 4 5
               6 7 8 9 10
               11 12  13  14 15
               f
               1 2 3 4 5
               6 7 8 9  1
               1  12  6  74  8

我想要是設一個迴圈

if sheet1.range("A" & i) = sheet2.range("A" & j )

copy  sheet2.range("A2 : E2")
paste in sheet1.range("B1 :E1")


...

( 也就是在sheet2裡的 a的下面的 1 2 3 4 5 要貼到 sheet1 a 的左邊 ,

  最後迴圈跑完的結果在sheet1是 :

a 1 2 3 4 5
b 1 2 3 4 5
c 1 2 3 4 5
d 1 2 3 4 5
e 1 2 3 4 5
f 1 2 3 4 5

這樣講不知道清不清楚

如果有疑問我還可以再補充

請各位大大教我一下怎麼寫這段程式吧

謝謝


我想要是設一個迴圈

A1
A2 B2 C2 D2 E2

TOP

回復 4# genes

Private Sub CommandButton1_Click()

Sheets("Return").Select
finalrow = ActiveSheet.UsedRange.Rows.Count
Sheets("2006_1").Select
finalrow06 = ActiveSheet.UsedRange.Rows.Count

For j = 2 To finalrow06
For i = 1 To finalrow -5

If Sheets("2006_1").Cells(1, j) = Sheets("Return").Cells(1, i) Then
S
heets("Return").Select
Sheets("Return").Range(Range("A" & i + 2), Range("A" & i + 2).Offset(0, 12)).Copy

With Sheets("2006_1")
     .Select
     .Range(Range("B" & j), Range("B" & j).Offset(0, 12)).Select
End With
   
ActiveSheet.Paste
Sheets("2006_1").Select
End If
Next
Next

End Sub

TOP

[版主管理留言]
  • GBKEE(2013/11/1 06:57): genes 請你附檔,沒有附檔如同瞎子摸象

抱歉  
If Sheets("2006_1").Cells(1, j) = Sheets("Return").Cells(1, i) Then

應該是

If Sheets("2006_1").Cells(j,1) = Sheets("Return").Cells( i,1) Then

TOP

example.rar (117.51 KB) 回復 4# genes




謝謝版主提醒 因為我還不太習慣這個版的版規  如有觸犯 請多包涵

已經附上檔案了

我想要把第二個sheet ( Return) 裡面 2005 年的 return ,  一月份到十二月份的資料  複製貼上到  sheet( 2006_1)  對應到相同名字的 右邊

我的程式碼不知到哪邊出了問題

上網看了很久也看不出個所以然來

所以想請各位網路上好心的大大指點迷津

謝謝

如果還有觸犯版規的地方也請不吝告知 我會遵守的

TOP

感謝前輩,我知道我的錯在哪裡了,就是公司名稱不對。
我以為 兩個cells 裡面的文字不用完全一樣只要相似就可以複製貼上( 甚至連前面有空格都不行 = = )

還有一個問題
就是我是想要把每間公司2005年的資料複製貼上到sheets 2006
但是由於他每個公司的資料開始的時間都不一樣 ,有的是從2002年開始 ,有的是從2005年開始
,甚至有的沒有資料! 沒有辦法用 row + i 的方式推算出來,不知道前輩有沒有什麼更好的方法呢?
謝謝囉

TOP

回復 10# GBKEE


    謝謝,你的code很優雅又快速   十分有用

TOP

        靜思自在 : 人生不一定球球是好球,但是有歷練的強打者,隨時都可以揮棒。
返回列表 上一主題