Board logo

標題: [發問] 如何取得sheet1指定內容複製到sheet2 [打印本頁]

作者: coke373    時間: 2017-4-3 01:18     標題: 如何取得sheet1指定內容複製到sheet2

Sheet1是每天會更新資料.
我想取sheet1 A:A的指定內容,複製到Sheet2的表格.
因為是每天都取Sheet1A:A的指定內部,想利用VAB幫忙完成.
設定複製到sheet2可以按日期帖上.2017/4/1-2017/4/30
作者: coke373    時間: 2017-4-3 06:26

Sub nn()
  Dim lSRow&, lTRow&
  Dim rTar As Range
  Dim wsTar As Worksheet
  
  Set wsTar = Sheets("Sheet2")
  
  With Sheets("Sheet1")
    wsTar.Cells.Clear
    .[A1:D2].Copy wsTar.[A1]
    lTRow = 7
    lSRow = 3
    Set rTar = .Cells(lTRow, 1)
    While rTar + rTar.Offset(, 1) + rTar.Offset(, 2) + rTar.Offset(, 3) <> 0
      rTar.Resize(, 4).Copy wsTar.Cells(lSRow, 1)
      lSRow = lSRow + 1
      lTRow = lTRow + 5
      Set rTar = .Cells(lTRow, 1)
    Wend
  End With
End Sub

我有爬文,引用了這個VBA,但是我每天都會在Sheet1更新
我把這句wsTar.Cells.Clear刪除了,怎樣可以每天跳一行,今天A1帖上,明天B1帖上,如此類推。
因為是整個月都要重複取A:A的資料,帖上Sheet2,一列代表一天。
作者: coke373    時間: 2017-4-3 07:35

EndRow = ActiveSheet.UsedRange.Rows.Count + 1 '所有使用中的列數+1
我爬文找到這一句。請問各位大大,這一句對不對?還有放在那一段?
作者: joey0415    時間: 2017-4-3 16:31

回復 3# coke373

參考參考
  1. Sub ex()

  2. k = Sheets(2).Cells(9, Columns.Count).End(xlToLeft).Column
  3. For i = 1 To 40
  4.    Sheets(2).Cells(i + 1, k + 1) = Sheets(1).Cells(i, 1)
  5. Next
  6.    Sheets(2).Cells(1, k + 1) = Format(Year(Date), "0000") & Format(Month(Date), "00") & Format(Day(Date), "00")

  7. End Sub
複製代碼

作者: coke373    時間: 2017-4-4 01:21

回復 4# joey0415


大大 謝謝你幫忙
請問可不可以在I=1-40 改成指定的,例如:copyC13:C98,再加上C107:C120,再上加上C138:C140。
請問怎樣改。
作者: coke373    時間: 2017-4-4 04:39

回復 4# joey0415


    Sub ex()

k = Sheets(2).Cells(9, Columns.Count).End(xlToLeft).Column
For i = 1 To 40
   Sheets(2).Cells(i + 1, k + 1) = Sheets(1).Cells(i, 1)
Next
   Sheets(2).Cells(1, k + 1) = Format(Year(Date), "0000") & Format(Month(Date), "00") & Format(Day(Date), "00")

End Sub

大大這個方法是可行,但是For i = 1 To 40 這一行可否改成其他,因為sheet1是一份report,是一個程式讀取出來的,他讀取來有很多隱藏格,但是我要內容剛好在C11:C96,C107:C120,C137:C139。我嘗試把For i = 1 To 40 改成 For i = C11 to C139,原來是不行,出error。請師兄幫忙。
作者: joey0415    時間: 2017-4-4 09:44

回復 6# coke373

[attach]26955[/attach]
  1. Sub ex()

  2.     k = Sheets(2).Cells(9, Columns.Count).End(xlToLeft).Column
  3.    
  4.     For i = 11 To 96
  5.        Sheets(2).Cells(i - 9, k + 1) = Sheets(1).Cells(i, 3)
  6.     Next
  7.    
  8.     For i = 107 To 120
  9.        Sheets(2).Cells(i - 19, k + 1) = Sheets(1).Cells(i, 3)
  10.     Next
  11.    
  12.     For i = 137 To 139
  13.        Sheets(2).Cells(i - 35, k + 1) = Sheets(1).Cells(i, 3)
  14.     Next
  15.    
  16.     Sheets(2).Cells(1, k + 1) = Format(Year(Date), "0000") & Format(Month(Date), "00") & Format(Day(Date), "00")

  17. End Sub
複製代碼

作者: coke373    時間: 2017-4-4 14:08

回復 7# joey0415


    大大感謝你的幫忙!今晚回到公司再套用.
作者: coke373    時間: 2017-4-5 00:51

回復 7# joey0415
大大謝謝你幫忙
我有幾個問題想問

Sheets(2).Cells(i - 9, k + 1) = Sheets(1).Cells(i, 3)
Sheets(2).Cells(i - 19, k + 1) = Sheets(1).Cells(i, 3)
Sheets(2).Cells(i - 35, k + 1) = Sheets(1).Cells(i, 3)  
i-9
i-19
i-35 是代表什麼?
For i = 11 To 96 如果我改成For i = 11 To 100 預多行數。要不要修改i-9?
因為我嘗試修改For i = 11 To 100 ,然後下面的For i = 107 To 120 帖出來會減少了。
作者: joey0415    時間: 2017-4-5 09:55

回復 9# coke373

i- ?
代表你的表格往上移動多少,自行微調
若只有i  那代表複製的位置與原來的位置相同

請自行研究看看

[attach]26958[/attach]
作者: coke373    時間: 2017-4-5 23:40

回復 10# joey0415

謝謝大大解釋,完全明白。
我還有一個問題想請教你,可不可以將複製的合併格的多餘的空格自動刪除。
VBA有沒有這樣的指令。
作者: coke373    時間: 2017-4-6 01:25

回復 7# joey0415
Sub ex()



    k = Sheets(2).Cells(9, Columns.Count).End(xlToLeft).Column

   

    For i = 11 To 96

       Sheets(2).Cells(i - 9, k + 1) = Sheets(1).Cells(i, 3)

    Next

   

    For i = 107 To 120

       Sheets(2).Cells(i - 19, k + 1) = Sheets(1).Cells(i, 3)

    Next

   

    For i = 137 To 139

       Sheets(2).Cells(i - 35, k + 1) = Sheets(1).Cells(i, 3)

    Next

   

    Sheets(2).Cells(1, k + 1) = Format(Year(Date), "0000") & Format(Month(Date), "00") & Format(Day(Date), "00")



End Sub

大大你好
請問可不可以在以上指令入面加自動列印,按每天讀取的內容做範圍.

Sub test()

For i = 2 To 6 Step 2

Range(Cells(i, 1), Cells(i + 1, 5)).PrintOut

Next i

End Sub
我找到類似的,如何修改Range.加入自動循環列印 ,如Sheets(2).Cells(1, k + 1)
作者: joey0415    時間: 2017-4-6 15:23

回復 12# coke373

http://forum.twbts.com/thread-850-1-1.html

列印沒有有用,請上網找找
作者: coke373    時間: 2017-4-9 00:55

回復 13# joey0415

大大我試了很多次,都無法代入,請求你幫忙。
作者: joey0415    時間: 2017-4-9 12:12

回復 14# coke373

幫忙只到這,剩下的自己想辦法
作者: coke373    時間: 2017-4-9 23:45

回復 15# joey0415

好的,感恩。謝謝你




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