返回列表 上一主題 發帖

[發問] 將資料自動複製到,目前點選的所在頁面並自動選擇最後一行空白處貼上

回復 25# jackson7015
是這樣嗎?
  1. lSRow = .Cells(.Rows.Count, .[AQ1].Column).End(xlUp).Row ' 找末列
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 27# jackson7015
試試看
  1. With wsTar
  2.         lTRow = .Cells(.Rows.Count, 1).End(xlUp).Row
  3.         .Range(.[A5], .Cells(lSRow, .[AQ4].Column)).Copy .Cells(lTRow, 1)
  4.     End With
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 29# jackson7015
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim E As Variant, wbSh(1 To 2) As Worksheet, bNFind(1 To 2) As Boolean
  4.     Dim AR(1 To 2), xPath As String, Rng As Range
  5.     AR(1) = "全年度資料庫.xls"        '檔案名稱
  6.     AR(2) = "當月報表.xls"            '檔案名稱
  7.     xPath = "D:\"                     '檔案的路徑
  8.     For Each E In Workbooks           '所有開啟的活頁簿物件集合
  9.         If E.Name = AR(1) Then bNFind(1) = True  '全年度資料庫 已開啟
  10.         If E.Name = AR(2) Then bNFind(2) = True  '當月報表 已開啟
  11.     Next
  12.     For E = 1 To UBound(bNFind)
  13.         If Not bNFind(E) Then              '檔案未開啟
  14.             Workbooks.Open (xPath & AR(E))
  15.         End If
  16.         Set wbSh(E) = Workbooks(AR(E)).Sheets("綜合資料庫")
  17.     Next
  18.     With wbSh(2) '當月報表"中的[綜合資料庫]
  19.         Set Rng = .Cells(.Rows.Count, .[AQ1].Column).End(xlUp) ' 找末列
  20.         Set Rng = .Range(.[A5], Rng)
  21.     End With
  22.     With wbSh(1) '全年度資料庫"資料表的[綜合資料庫]
  23.         Rng.Copy .Cells(.Rows.Count, 1).End(xlUp).Offset(1)
  24.     End With
  25.     For Each E In AR
  26.         Workbooks(E).Close True   '全年度資料庫,當月報表. 關閉且存檔
  27.     Next
  28. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 31# jackson7015
  1. Option Explicit
  2. Sub Ex()
  3.     Dim E As Variant, wbSh(1 To 2) As Worksheet, bNFind(1 To 2) As Boolean
  4.     Dim AR(1 To 2), xPath As String, Rng As Range
  5.     AR(1) = "全年度資料庫.xls"        '檔案名稱
  6.     AR(2) = "當月報表.xls"            '檔案名稱
  7.     xPath = "D:\"                     '檔案的路徑
  8.     For Each E In Workbooks           '所有開啟的活頁簿物件集合
  9.         If E.Name = AR(1) Then bNFind(1) = True  '全年度資料庫 已開啟
  10.         If E.Name = AR(2) Then bNFind(2) = True  '當月報表 已開啟
  11.     Next
  12.     For E = 1 To UBound(bNFind)
  13.         If Not bNFind(E) Then              '檔案未開啟
  14.             Workbooks.Open (xPath & AR(E))
  15.         End If
  16.         Set wbSh(E) = Workbooks(AR(E)).Sheets("綜合資料庫")
  17.     Next
  18.     With wbSh(2) '當月報表"中的[綜合資料庫]
  19.         '***1.因AQ有時候會沒有設定值,所以能否只判斷A列有幾行,然後複製A5:AQ(A列最後一行)
  20.         'Set Rng = .Cells(.Rows.Count, .[AQ1].Column).End(xlUp) ' 找末列
  21.         Set Rng = .Cells(.Rows.Count, "AQ").End(xlUp) ' 找末列
  22.         If .[A5].End(xlDown).Row > Rng.Row Then
  23.             Set Rng = .Range(.[A5], .Range("AQ" & .[A5].End(xlDown).Row))
  24.         Else
  25.             Set Rng = .Range(.[A5], Rng)
  26.         End If
  27.     End With
  28.     With wbSh(1) '全年度資料庫"資料表的[綜合資料庫]
  29.         Rng.Copy .Cells(.Rows.Count, 1).End(xlUp).Offset(1)
  30.         '***3.只貼上"值"的部分就好
  31.         .UsedRange = .UsedRange.Value
  32.     End With
  33.     '***2.只儲存關閉"全年度資料庫"
  34.     Workbooks(AR(1)).Close True   '全年度資料庫. 關閉且存檔
  35. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 34# jackson7015
反過來作
  1. With wbSh(1) '全年度資料庫"資料表的[綜合資料庫]
  2.         'Rng.Copy .Cells(.Rows.Count, 1).End(xlUp).Offset(1)
  3.         '***3.只貼上"值"的部分就好
  4.         .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(Rng.Rows.Count, Rng.Columns.Count) = Rng.Value
  5.         '複製範圍的總列數 Rng.Rows.Count
  6.         '複製範圍的總欄數 Rng.Columns.Count
  7.     End With
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 人的心地是一畦田,土地沒有播下好種子,也長不出好的果實。 -
返回列表 上一主題