返回列表 上一主題 發帖

[發問] 累積報表 修正語法

[發問] 累積報表 修正語法

請教各位先進~
目前有兩個SHEET
想要把每日的資料複製至 日累積報表
[每日資料]

[日累積]

由於目前是把每日資料逐行帶入日累積報表中
想請問要如何修正語法才能自動讀[每日資料]有幾行
複製到[日累積]有資料的下一行

小妹目前語法
  1. Sub TEST()
  2. Dim a, b, c, today
  3. Dim i As String

  4.    i = Sheets("日累積").Range("A65536").End(xlUp).Row  '計算有資料最後一列之列數
  5.    j = Sheets("日檢核").Range("A65536").End(xlUp).Row
  6.    '比對日期
  7.       If Worksheets("日累積").Cells(i, 1).Value = Sheets("日檢核").Range("J2") Then MsgBox "早已存過資料!"
  8.       
  9.       If Worksheets("日累積").Cells(i, 1).Value <> Sheets("日檢核").Range("J2") Then
  10.       
  11.         For a = 1 To j - 1
  12.      '日期匯出
  13.             Sheets("日累積").Cells(i + a, 1).Value = Sheets("日檢核").Range("J2")
  14.      '這裡是想要修正的地方 因日檢核資料有時多有時少 不能寫死
  15.             Sheets("日累積").Range(Cells(i + 1, 2), Cells(i + 1, 8)) = Sheets("日檢核").Range("A2:G2").Value
  16.             Sheets("日累積").Range(Cells(i + 2, 2), Cells(i + 2, 8)) = Sheets("日檢核").Range("A3:G3").Value
  17.             Sheets("日累積").Range(Cells(i + 3, 2), Cells(i + 3, 8)) = Sheets("日檢核").Range("A4:G4").Value
  18.             Sheets("日累積").Range(Cells(i + 4, 2), Cells(i + 4, 8)) = Sheets("日檢核").Range("A5:G5").Value
  19.             
  20. Next a
  21. MsgBox "資料匯出完成!"    ' 匯出完成訊息


  22.         End If
  23. End Sub
複製代碼
麻煩了~
活頁簿0118.zip (386.27 KB)

回復 2# justintoolbox

有成功執行喔~~
結果也是想要的
謝謝你^^

TOP

回復 4# jsc0518

試試~ 我稍稍結合了一下
  1. Sub TEST()
  2. Dim Rng, Dr
  3. Dim i, j As String
  4. Dim x As Integer

  5.    i = Sheets("日累積").Range("A65536").End(xlUp).Row  '計算有資料最後一列之列數
  6.    j = Sheets("日檢核").Range("A65536").End(xlUp).Row
  7.      '比對日期
  8.       If Worksheets("日累積").Cells(i, 1).Value = Sheets("日檢核").Range("J2") Then MsgBox "早已存過資料!"
  9.       
  10.       If Worksheets("日累積").Cells(i, 1).Value <> Sheets("日檢核").Range("J2") Then
  11.       
  12.         For a = 1 To j - 1
  13.      '日期匯出
  14.             Sheets("日累積").Cells(i + a, 1).Value = Sheets("日檢核").Range("J2")
  15.         Next a
  16.         
  17.     With ThisWorkbook.Worksheets("日檢核")
  18.         Rng = .[a1].CurrentRegion.Offset(1)
  19.         ReDim Dr(UBound(Rng) - 1, 1)
  20.         For x = 1 To UBound(Dr)
  21.             Dr(x, 1) = .[J2]
  22.         Next x
  23.     End With
  24.    
  25.     With ThisWorkbook.Worksheets("日累積")
  26.         .[A65535].End(xlUp).Offset(1).Resize(UBound(Dr), 1).Value = Dr
  27.         .[B65535].End(xlUp).Offset(1).Resize(UBound(Rng), UBound(Rng, 2)).Value = Rng
  28.     End With
  29.    
  30. MsgBox "資料匯出完成!"    ' 匯出完成訊息

  31.         End If
  32. End Sub
複製代碼

TOP

        靜思自在 : 要比誰更受誰.不要比誰更怕誰。
返回列表 上一主題