返回列表 上一主題 發帖

[發問] 逐筆比對回傳資料

回復 1# 蘿蔔泥
有空幫我試試看是不是這樣的結果 感謝


javascript:;

特休統計0118.rar (14.72 KB)

TOP

本帖最後由 軒云熊 於 2021-1-26 20:54 編輯

回復 3# 蘿蔔泥
其實 用字典方式比較好 但我還在學習中.. 所以用了比較笨的方式   
以下只是串聯文字
A = Arr(x, 1) & "|" & Arr(x, 2) & "|" & Brr(3, 1) & "|" & Brr(3, 2) & "|" & Brr(3, 3) & "|" & Sheets(2).Cells(3, 4)

然後再分割到儲存格
A = Split(A, "|")
For Y = 1 To 6
           Sheets(3).Cells(Rows.Count, Y).End(xlUp)(2) = A(Y - 1)

謝謝你願意花時間幫我測試  謝謝你

TOP

本帖最後由 軒云熊 於 2021-1-27 20:50 編輯

回復 5# 蘿蔔泥

(2) 會固定保持在第2欄開始
End(xlUp) 是避免每列中如果有空格也不會偵測錯誤 因為 是由下往上
如果使用 End(xlDown) 也是可以 但第一列到最後一列 中間不可以有空格 否則會少抓資料
a(Y - 1)因為是陣列所以A(0)是第一的意思嗎?   是的  
我到這裡 從0開始 到現在也還在摸索中.. 有機會就來這裡找一些題目來練習順便請大大們幫忙測試 也許會跌跌撞撞...
但到最後還是可以學習到更多的 經驗. 知識
對我來說這些都是會累積的  都是值得的  這裡是一個很好的地方 我也很喜歡這裡  
因為可以學習到很多大大的 編寫方式 與 函式的用法 還有 思考觀念  


謝謝準大幫忙回復 感謝

TOP

回復 6# 准提部林

抱歉 沒有發現準大在提醒我 .. 但這寫法 沒有 jcchiang 大大的好
  1. Public Sub 字典運用練習()
  2.     Application.ScreenUpdating = False
  3.    
  4.     Arr = [特休天數!A1].CurrentRegion
  5.     Brr = [登錄!A1].CurrentRegion
  6.     Set xD = CreateObject("Scripting.Dictionary")
  7.    
  8.     For H = Brr(3, 2) To Brr(3, 2) + (Brr(3, 3) - 1)
  9.         xD(H) = ""
  10.     Next H
  11.    
  12.     For x = 2 To UBound(Arr)
  13.    
  14.         If Brr(1, 2) = Arr(x, 1) Then
  15.         
  16.             For Each D In xD
  17.                 R = Array(Arr(x, 1), Arr(x, 2), [登錄!A3], D, 1, Arr(x, 8))
  18.                 If D >= Arr(x, 4) And D <= Arr(x, 5) Then
  19.                
  20.                     For K = 1 To 6
  21.                         [list!A1].Cells(Rows.Count, K).End(xlUp)(2) = R(K - 1)
  22.                     Next K
  23.                 Sheets(2).Cells(3, 4) = Sheets(2).Cells(3, 4) & " " & Arr(x, 8)
  24.                 G = G + 1
  25.                 End If
  26.             Next D
  27.             
  28.         If G <> 0 Then Sheets(1).Cells(x, 9) = Sheets(1).Cells(x, 9) + G
  29.         End If
  30.    
  31.     G = 0
  32.     Next x
  33.    
  34. Application.ScreenUpdating = True
  35. End Sub
複製代碼

TOP

本帖最後由 軒云熊 於 2021-1-29 16:19 編輯

回復 10# 准提部林

準大 這是有加入萬年曆(網路上找的稍微修改假日) 的方式有扣除列假日 大概隨意設定了幾個項目 有空可以幫我看看 有沒有達到你給的題目要求 缺點就是 有點慢 因為程式太長了
感覺我的邏輯有問題的樣子.   麻煩你了

   
[attach]33015[/attach]

特休統計練習.rar (54.88 KB)

TOP

回復 12# 准提部林

回準大補班的條件我加了 如果有多餘的時間 可以幫我看看 是不是這樣的邏輯 麻煩你了  


javascript:;

特休統計0129.rar (103.29 KB)

TOP

        靜思自在 : 真正的愛心,是照顧好自己的這顆心。
返回列表 上一主題