返回列表 上一主題 發帖

[發問] 依訂單_標示客戶

[發問] 依訂單_標示客戶

各位 新年快樂:
1..        客戶名稱標示在A1(有可能改變,以A1為依據)
2..        E欄帶有文字的是訂單號碼,無文字的都不算訂單號碼
3..        訂單內容會隨客戶下單而變動(增加or減少,條碼也會重複出現)
       
        B欄的需求:
a)        當E欄出現第一筆訂單號碼,則B欄帶出A1的客戶名稱 (Ex:b1:b13)
        一直到出現第2筆訂單號碼為止
b)        當E欄出現第2筆訂單號碼,則B欄帶出A1的客戶名稱2 (Ex:b14:b26)
        一直到出現第3筆訂單號碼為止
        依此類推…
依訂單_標示客戶.rar (115.23 KB)

回復 12# 准提部林

謝謝準大的提點 這個邏輯更清楚 先收下了
:)

TOP

Sub TEST()
Dim Arr, i&, T$, N&
Arr = Range([e1], [c65536].End(xlUp))  '以C欄檢查最後一筆
T = [a1]   'A1名稱文字
For i = 2 To UBound(Arr)
    If Arr(i, 3) Like "[A-z]*#*" Then N = N + 1 'E欄帶有[英文+數字], 累加1
    Arr(i - 1, 1) = T & IIf(N > 1, N, "")  '名稱+序號(N>=2)
Next i
[B2].Resize(UBound(Arr) - 1) = Arr
End Sub

TOP

回復 10# 軒云熊
今天使用時正好發現有問題,真是及時雨,感謝!

TOP

回復 7# PJChen

剛才發現 加總會差1 所以改了一下 有空再幫我看看是不是你要的結果 感謝   祝  ~ 新年快樂   萬事如你(妳)意  ~

依訂單_標示客戶0212.rar (69.92 KB)

TOP

回復 8# 軒云熊
真感謝!正確

TOP

回復 7# PJChen

有空幫我試試看這個是不是你要的結果  感謝
  1. Sub 比對數值練習()
  2.     Application.ScreenUpdating = False

  3.     Arr = [A1].CurrentRegion
  4.    
  5.     For X = 2 To UBound(Arr, 1)
  6.         If Not IsNumeric(Arr(X, 5)) And Arr(X, 2) = "" Then
  7.             Cells(X, 2) = Arr(1, 1)
  8.             T = Arr(1, 1) & R
  9.             If R > 1 Then T = Mid(Arr(1, 1), 1, Len(Arr(1, 1)) - 1) & R
  10.             Arr(1, 1) = IIf(R = 0, Arr(1, 1), T)
  11.             If R >= 1 Then Cells(X, 2) = Arr(1, 1)
  12.             R = R + 1
  13.         ElseIf IsNumeric(Arr(X, 5)) And Cells(X - 1, 2) <> "" Then
  14.             Cells(X, 2) = Arr(1, 1)
  15.         End If
  16.     Next X

  17.     Application.ScreenUpdating = True
  18. End Sub
複製代碼

TOP

回復 3# 軒云熊
您好,

程式無法執行吔....
依訂單_標示客戶2.rar (31.89 KB)

TOP

回復 5# 軒云熊

不好意思,可能我表達得不好,我在檔案中放一個執行後,想要達成的(正確)的工作表
您執行看看,就知道差別在哪!
依訂單_標示客戶.rar (29.83 KB)

TOP

本帖最後由 軒云熊 於 2021-2-12 19:34 編輯

回復 4# PJChen

我看不出來 >"<  可不可以請PJChen 大大框起來 說清楚一點 ...  抱歉 ^^"

TOP

        靜思自在 : 盡多少本份,就得多少本事。
返回列表 上一主題