Board logo

標題: 想透過按鈕或其他方式將篩選出後的該列輸入相關數值後轉到第二個工作表裡 [打印本頁]

作者: emma    時間: 2015-10-28 23:29     標題: 想透過按鈕或其他方式將篩選出後的該列輸入相關數值後轉到第二個工作表裡

Dear 各位大大好

因為事隔多年未使用,所以有些程式就更為疏遠了,有找出以前的資料試著用可以的方式把「資料輸入區」裡的公司篩選後,
再輸入後面該列的欄位相關值,無論輸入的資料有無完整,只要C:M某欄內有資料,就可以點選該列的A欄將該列帶入「資料查核區」
的相對應位置裡,但是還是有很多需求無法被滿足,目前的狀況是C:M欄大都是數值的欄位,可目前的方式帶入顯示的都是文字值,
一旦新增完後可以再回到原先未輸入前的設置,目前也是使用『解除篩選』來實行,但G欄跟H欄裡有設有原本想要有的公式在裡面,
如果被更改後要手動再回復該公式,不曉得有沒有方式可以直接回複回來預設的公式,
「資料查核區」被帶入的值也很難顯示或變更儲存格的屬性為數值並有千分位的表現,希望能有其他突破的方式,先謝謝大大了^^
作者: 准提部林    時間: 2015-10-29 14:45

還不清楚所求, 大約修改如下, 請自行去套~~

Private Sub Worksheet_Change(ByVal Target As Range)
ActiveWindow.ScrollRow = 3
With Target
  If .Address = "$B$1" Then
    If .Value = "" Then [B4].AutoFilter Field:=2: Exit Sub  'B1空白,顯示全部不篩選 
    [B4].AutoFilter Field:=2, Criteria1:="*" & .Value & "*"
  ElseIf Target.Address = "$B$2" Then
    If .Value = "" Then [A4].AutoFilter Field:=1: Exit Sub
    [A4].AutoFilter Field:=1, Criteria1:="*" & .Value & "*"
  End If
End With
End Sub
 
'=====================================
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim j&, Jm&, xE As Range
With Target
  If .Count > 1 Or .Column > 1 Or .Row < 5 Or .Item(1) = "" Then Exit Sub
  For j = 3 To 13 '檢查輸入區有無資料 
    If j < 7 Or j > 8 Then If .Cells(1, j) <> "" Then Jm = 1: Exit For
  Next j
  If Jm = 0 Then MsgBox "本筆未輸入資料!": Exit Sub
  Set xE = [資料查核區!A65536].End(xlUp)(2)
  If xE.Row < 4 Then Set xE = [資料查核區!A4]
  xE = [J1]
  For j = 1 To 13 '帶入資料(含GH欄公式) 
    xE(1, j + 1) = .Cells(1, j).FormulaR1C1
  Next j
  Beep
End With
End Sub
 
'=====================================
Sub 清除篩選_Click()
Dim R&
With ActiveSheet
  If .FilterMode Then .ShowAllData
  R = .UsedRange.Rows.Count
  [B1:B2,J2:K2].ClearContents
  .Range("C5:F" & R).ClearContents
  .Range("I5:M" & R).ClearContents
End With
End Sub
作者: emma    時間: 2015-10-31 00:53

本帖最後由 emma 於 2015-10-31 00:54 編輯

回復 2# 准提部林

Dear 准提部林 版主您好

您的程式確實是符合我所要需求的做法,只是我沒考量到,如果要帶進來的欄位或許沒有連續,只要某幾欄或是欄位有更換的話,我就不會更改套用了,

然後在第二個工作表中的「資料查核區」中的最上方有一個「彙總按鈕」,希望可以先將第三個工作表「資料彙總區」先清空後再重新把「資料查核區」
的資料帶入,彙整的條件是「公司名稱」相同及「一般訂單單價」相同(這二個條件同時成立)就把欄位名稱有包含"數量"或"份數"的欄位數值都加在一起,
不曉得這樣的要求有沒有很困難,是否能明白,因為想了很久也不得其門而入,如可得指引的方向將不甚感激,謝謝您^^

還有這不一定要強求的一點是,在原先的範例上在J欄與M欄右側的線是有加粗的,只是被我更改過後的程式都全部套用成細線了,不曉得能不能維持原先的設定。
作者: 准提部林    時間: 2015-10-31 13:07

回復 3# emma

附件下載:
[attach]22282[/attach]

若有不同部份,看能否自行調整!
作者: emma    時間: 2015-11-2 01:09

回復 4# 准提部林


    Dear 准提部林 版主

   謝謝您耐心的回覆,第二個工作表確實有符合需求,但第三個工作表就比較無法更動成想要的格式,加總的方式是我要的,
   但更改不出來想要指定放置的欄位位置順序,連第三個工作表的第一個日期欄位也無法更改成讓它不顯示出來
   因為第三個「資料彙總區」有可能會跳著帶入第二個工作表「資料查核區」的某幾個欄位,不是全部按順序的帶入
   且有的不單是帶入欄位,還需要將某幾個欄位名稱有包含數量的欄位值來做加總,所以好像不是我原本的方式或您的方式就可以滿足的,
   我會再努力研究看看,謝謝您^^




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