返回列表 上一主題 發帖

請問SHEET轉換紀錄的問題

本帖最後由 GBKEE 於 2012-2-14 17:46 編輯

回復 1# tonycho33
***[D1:F1] 不可為空白***
  1. Sub Ex()'1.請問一下,如何將A SHEET存到B SHEET當J欄有出現任何值
  2.     Dim xText As String
  3.     xText = "<>" '
  4.    Data_Copy 10, xText
  5. End Sub
  6. Sub ExA() '2.另一種是當按下按鈕時(對應工單號碼),則該工單對應的所有列就複製到B SHEET空白處
  7.     Dim xText As String
  8.     xText = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text
  9.     Data_Copy 1, xText
  10. End Sub
  11. Private Sub Data_Copy(xF As Integer, xCriteria As String)
  12.     Dim Sh As Worksheet
  13.     Application.ScreenUpdating = False
  14.     Application.DisplayAlerts = False
  15.      With Sheet7   'Sheets("A")
  16.         .AutoFilterMode = False
  17.         .Range("a1").AutoFilter Field:=xF, Criteria1:=xCriteria
  18.         Set Sh = Sheets.Add
  19.         .UsedRange.SpecialCells(xlCellTypeVisible).Copy Sh.[a1]
  20.         Sh.UsedRange.Offset(1).Copy Sheet6.Cells(Rows.Count, "A").End(xlUp).Offset(1)
  21.       'Sheet6->Sheet("B")
  22.         Sh.Delete
  23.         .AutoFilterMode = False
  24.         .Activate
  25.     End With
  26.     Application.ScreenUpdating = True
  27.     Application.DisplayAlerts = True
  28. End Sub
複製代碼

TOP

回復 3# tonycho33
"第二次再輸入時,因為原本第一次還在,所以會在重複記錄到"
你又沒說 有篩選過的要刪掉 !!!
.Range("a1").AutoFilter Field:=xF, Criteria1:=xCriteria
Range("a1").AutoFilter:    在 A1橫向的欄位 [A1:J1] 自動篩選  
Field:=1   :篩選的欄位 ->A欄 ; Field:=10   :篩選的欄位 ->J 欄

TOP

回復 5# tonycho33
  1. Private Sub Data_Copy(xF As Integer, xCriteria As String)
  2.     Dim Sh As Worksheet, Rng(1 To 2) As Range, xRow As Range
  3.     Application.ScreenUpdating = False
  4.     Application.DisplayAlerts = False
  5.      With Sheet7   'Sheets("A")
  6.         .AutoFilterMode = False
  7.         .Range("a1").AutoFilter Field:=xF, Criteria1:=xCriteria
  8.         Set Rng(1) = .UsedRange.SpecialCells(xlCellTypeVisible)
  9.         If Application.CountA(Rng(1)) = Rng(1).Columns.Count Then  
  10.              .AutoFilterMode = False
  11.             MsgBox IIf(xCriteria <> "<>", "找不到 工單 :" & xCriteria, "完成時間  沒有的資料")
  12.             GoTo e
  13.         End If
  14.         Set Sh = Sheets.Add
  15.         Rng(1).Copy Sh.[a1]
  16.         Sh.UsedRange.Offset(1).Copy Sheet6.Cells(Rows.Count, "A").End(xlUp).Offset(1)
  17.         Sh.Delete
  18.         .AutoFilterMode = False
  19.         .Activate
  20.         For Each xRow In Rng(1).Rows.Cells
  21.             If xRow.Row <> 1 Then
  22.                 If Rng(2) Is Nothing Then
  23.                     Set Rng(2) = xRow
  24.                 Else
  25.                     Set Rng(2) = Union(xRow, Rng(2))
  26.                 End If
  27.             End If
  28.         Next
  29.         Rng(2).Delete xlShiftUp
  30.     End With
  31. e:
  32.     Application.ScreenUpdating = True
  33.     Application.DisplayAlerts = True
  34. End Sub
複製代碼

TOP

回復 8# tonycho33
    當T3出現"已排程"時則
SHEETS("AA") T欄中都沒有資料啊

TOP

回復 10# tonycho33
請問 如圖

TOP

        靜思自在 : 生氣,就是拿別人的過錯來懲罰自己。
返回列表 上一主題