返回列表 上一主題 發帖

[發問] 如何用VBA複製不同工作表資料

回復 1# jerrystock
程式區有許多這樣的例子,多看看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng(1 To 2) As Range
  4.     With Sheet2
  5.         Set Rng(1) = .Range("A1:P" & .Range("A" & .Rows.Count).End(xlUp).Row)
  6.     End With
  7.     Set Rng(2) = Sheet1.Range("A" & Sheet1.Rows.Count).End(xlUp)
  8.     If Rng(2) <> "" Then Set Rng(2) = Rng(2).Offset(1) ',下移一列
  9.     'Rng(2) <> "" '有資料
  10.     Rng(1).Copy Rng(2)
  11. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 4# jerrystock
試試看
  1. Option Explicit
  2.     Sub Ex()
  3.         Dim Rng(1 To 2) As Range
  4.         With 工作表2
  5.             Set Rng(1) = .Range("A1").CurrentRegion
  6.         End With
  7.         Set Rng(2) = 工作表1.Range("B" & 工作表1.Rows.Count).End(xlUp) 'B欄由下往上到有資料的儲存格
  8.         If Rng(2) = "" Then                         'B欄由下往上到有資料的儲存格 = B1
  9.             Set Rng(2) = Rng(2).Offset(0, -1)       '下移 0 列,左移一欄(到A欄)
  10.             Rng(1).Copy Rng(2)                      '複製表頭
  11.         Else                                        'B欄由下往上到有資料的儲存格 <> B1
  12.             Set Rng(2) = Rng(2).Offset(1, -1)       ',下移 一列,左移一欄(到A欄)
  13.             Rng(1).Offset(1).Copy Rng(2)            '不複製表頭
  14.             Rng(2).Cells(1) = Rng(1).Cells(1)       'A欄輸入日期
  15.         End If
  16.     End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 8# jerrystock
有就不複製嗎?
  1. Option Explicit
  2.     Sub Ex()
  3.         Dim Rng(1 To 2) As Range
  4.         With 工作表2
  5.             Set Rng(1) = .Range("b:b").Find("No securities to report.", Lookat:=xlWhole)
  6.             'B欄中找"No securities to report."            
  7.             If Not Rng(1) Is Nothing Then Exit Sub  '有此完整字串,離開程序
  8.             Set Rng(1) = .Range("A1").CurrentRegion
  9.         End With
  10.         
  11.         Set Rng(2) = 工作表1.Range("B" & 工作表1.Rows.Count).End(xlUp) 'B欄由下往上到有資料的儲存格
  12.         If Rng(2) = "" Then                         'B欄由下往上到有資料的儲存格 = B1
  13.             Set Rng(2) = Rng(2).Offset(0, -1)       '下移 0 列,左移一欄(到A欄)
  14.             Rng(1).Copy Rng(2)                      '複製表頭
  15.         Else                                        'B欄由下往上到有資料的儲存格 <> B1
  16.             Set Rng(2) = Rng(2).Offset(1, -1)       ',下移 一列,左移一欄(到A欄)
  17.             Rng(1).Offset(1).Copy Rng(2)            '不複製表頭
  18.             Rng(2).Cells(1) = Rng(1).Cells(1)       'A欄輸入日期
  19.         End If
  20.     End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 小事不做、大事難成。
返回列表 上一主題