返回列表 上一主題 發帖

[發問] 儲存格出現格式為文字或開頭為單引號的錯誤

回復 12# Hsieh


    如果並非每個儲存格都有/這個符號
請問如何讓電腦辨認,因為如果我用這個公式,當遇到無/這個符號的那欄就會停住。

例如:
資料庫:
HONGKONG, DO DELIVERY 香港, 交提貨單
HONG KONG / 香港
YANTIAN,CHINA/盐田
XINGANG,TIANJIN,CHINA/天津新港
SHANGHAI-CHINA/上海
XINGANG,TIANJIN,CHINA-天津新港

如何辨認中文及英文,
1)只顯示中文
香港, 交提貨單
香港
盐田
天津新港
上海
天津新港

或者
2)只顯示英文       
HONGKONG, DO DELIVERY
HONG KONG
YANTIAN,CHINA
XINGANG,TIANJIN,CHINA
SHANGHAI-CHINA       
XINGANG,TIANJIN,CHINA

TOP

[/code][b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=52598&ptid=8765]17#[/url] [i]Hsieh[/i] [/b]

Desktop.rar (193.92 KB)
未命名.png
2013-4-17 11:01

[code]Sub Detail()
Dim FRng As Range
Dim a As Range, Rng As Range
Dim i As Integer
Dim LastRec As Integer
Dim Sh As Worksheet, C As Range, Ar()
  
fs = "C:\Users\patrick.HKG\Desktop\DOCS RECEIVED N RELEASED RECORD.xlsx" '揃蹋

TOP

本帖最後由 198188 於 2013-4-17 11:09 編輯
  1. Sub Detail()
  2. Dim FRng As Range
  3. Dim a As Range, Rng As Range
  4. Dim i As Integer
  5. Dim LastRec As Integer
  6. Dim Sh As Worksheet, C As Range, Ar()
  7.     fs = "C:\Users\patrick.HKG\Desktop\DOCS RECEIVED N RELEASED RECORD.xlsx"
  8. With Workbooks.Open(fs)
  9.    Set Sh = .Sheets("收件記錄")
  10.        With ThisWorkbook.Sheets("OHC")
  11.           For Each a In .Range(.[C2], .Cells(.Rows.Count, 1).End(xlUp))
  12.              Set Rng = Sh.Columns("D").Find(a, lookat:=xlWhole)
  13.              If Not Rng Is Nothing Then
  14.                 For Each C In Sh.Range(Rng, Sh.Cells(Sh.Rows.Count, 4).End(xlUp))
  15.                    If C = a And InStr(UCase(C.Offset(, 4).MergeArea(1)), "OHC") > 0 Then
  16.                       ReDim Preserve Ar(s)
  17.                       Ar(s) = C.Offset(, 4).MergeArea(1)
  18.                       s = s + 1
  19.                    End If
  20.                  Next
  21.              If s > 0 Then
  22.                a.Offset(, 9) = Join(Ar, "﹜")
  23.                 Erase Ar
  24.                 s = 0
  25.                   Else
  26.                a.Offset(, 9) = ""
  27.              End If
  28.              End If
  29.           Next
  30.        End With
  31.   .Close
  32.   End With
  33.    End Sub
複製代碼
[/code][quote][/code]回復  Hsieh
當要讀的表的D欄是空格,而H欄有OHC這個字,就會出現附圖的問題

TOP

未命名.png
2013-4-17 11:22
回復 17# Hsieh


NANSHA-CHINA 中国南沙                                               NANSHA-CHINA                          中国南沙
NANSHA-CHINA 中国南沙                                               NANSHA-CHINA                          中国南沙
NANSHA-CHINA/中国 南沙                                               NANSHA-CHINA                          中国 南沙
NANSHA-CHINA 中国南沙                                               NANSHA-CHINA                          中国南沙
KAOHSIUNG TAIWAN PORT                                               KAOHSIUNG TAIWAN        PORT
OSAKA - JAPAN                                                                  OSAKA -                                              JAPAN
"HONG KONG / 香港 "                                               HONG KONG                          "香港 "
HONG KONG                                                                  HONG                                              KONG
OSAKA - JAPAN                                                                  OSAKA -                                              JAPAN
HONG KONG                                                                  HONG                                              KONG
HONG KONG, CY DELIVERY / 香港, 櫃場交貨        HONG KONG,CY DELIVERY        香港,櫃場交貨
HONG KONG, CY DELIVERY / 香港, 櫃場交貨        HONG KONG,CY DELIVERY        香港,櫃場交貨
HONG KONG, CY DELIVERY / 香港, 櫃場交貨        HONG KONG,CY DELIVERY        香港,櫃場交貨
HONG KONG, CY DELIVERY / 香港, 櫃場交貨        HONG KONG,CY DELIVERY        香港,櫃場交貨
HONG KONG, CY DELIVERY / 香港, 櫃場交貨        HONG KONG,CY DELIVERY        香港,櫃場交貨
NARITA, JAPAN (NRT)                                               NARITA,JAPAN                            (NRT)
感謝,但是有些字不應該拆開卻拆開例如:HONG KONG

TOP

Desktop.rar (440.64 KB)
  1.   fs = "W:\Payment Daily Report\HK ETA update.xlsm"
  2. Set wb = Workbooks.Open(fs)
  3. With ThisWorkbook.Worksheets("State")
  4. For Each A In .Range(.[A2], .Range("A1").End(xlDown))
  5.      Set FRng = wb.Sheets("HK HAIPONG").Range("A:A").Find(A, lookat:=xlWhole, SearchDirection:=xlPrevious)
  6.      If Not FRng Is Nothing Then
  7.           A.Offset(, 1) = FRng.Offset(, 11).Value
  8.           If rng Is Nothing Then Set rng = A.Offset(, 1) Else Set rng = Union(rng, A.Offset(, 1))
  9.         End If
  10.         Set FRng = Nothing
  11. Next
  12. End With
  13. wb.Close 0
複製代碼
回復 17# Hsieh
這個程式應該是會自動更新Master.xlsx的B欄資料,但是我發現有些做不了,例如209519 Master.xlsx是22/3,但是HK HAIPONG sheet 是21/3, 不懂得更新,請問哪裡有問題?

另外如果在HK HAIPONG sheet 中找到有,但是Offset(, 11).Value是空格,就不變,我改了這句If Trim(FRng.Offset(, 11).Value) <> "" then  A.Offset(, 1) = FRng.Offset(, 11).Value,但是沒有作用,請問是否有錯?

fs = "W:\Payment Daily Report\HK ETA update.xlsm"
Set wb = Workbooks.Open(fs)
With ThisWorkbook.Worksheets("State")
For Each A In .Range(.[A2], .Range("A1").End(xlDown))
     Set FRng = wb.Sheets("HK HAIPONG").Range("A:A").Find(A, lookat:=xlWhole, SearchDirection:=xlPrevious)
     If Not FRng Is Nothing Then
        If Trim(FRng.Offset(, 11).Value) <> "" then  A.Offset(, 1) = FRng.Offset(, 11).Value
          If rng Is Nothing Then Set rng = A.Offset(, 1) Else Set rng = Union(rng, A.Offset(, 1))
        End If
        Set FRng = Nothing
Next
End With
wb.Close 0

TOP

回復 22# Hsieh


    這個程式應該是會自動更新Master.xlsx的B欄資料,但是我發現有些做不了,例如209519 Master.xlsx是22/3,但是HK HAIPONG sheet 是21/3, 不懂得更新,請問哪裡有問題?

TOP

  1. Sub Load_State_Detail()
  2. Dim FRng As Range
  3. Dim A As Range, rng As Range
  4. Dim I As Integer
  5. Dim LastRec As Integer
  6. fs = "W:\Payment Daily Report\HK ETA update.xlsm"
  7. Set wb = Workbooks.Open(fs)
  8. With ThisWorkbook.Worksheets("State")
  9. For Each A In .Range(.[A2], .Range("A1").End(xlDown))
  10.      Set FRng = wb.Sheets("HK HAIPONG").Range("A:A").Find(A, lookat:=xlWhole, SearchDirection:=xlPrevious)
  11.      If Not FRng Is Nothing Then
  12.      If Trim(FRng.Offset(, 11).Value) <> "" Then
  13.           A.Offset(, 1) = FRng.Offset(, 11).Value
  14.           If rng Is Nothing Then Set rng = A.Offset(, 1) Else Set rng = Union(rng, A.Offset(, 1))
  15.         End If
  16.         End If
  17.         Set FRng = Nothing
  18. Next
  19. End With
  20. wb.Close 0

  21.   fs = "W:\Payment Daily Report\Mainland ETA Update.xlsm"
  22. Set wb = Workbooks.Open(fs)
  23. With ThisWorkbook.Worksheets("State")
  24. For Each A In .Range(.[A2], .Range("A1").End(xlDown))
  25.      Set FRng = wb.Sheets("MAILAND ETA").Range("A:A").Find(A, lookat:=xlWhole, SearchDirection:=xlPrevious)
  26.       If Not FRng Is Nothing Then
  27.        If Trim(FRng.Offset(, 11).Value) <> "" Then
  28.      A.Offset(, 1) = FRng.Offset(, 11).Value
  29.      
  30.            If rng Is Nothing Then Set rng = A.Offset(, 1) Else Set rng = Union(rng, A.Offset(, 1))
  31.         End If
  32.         End If
  33.        Set FRng = Nothing
  34. Next
  35. End With
  36. wb.Close 0
  37. end sub
複製代碼
回復 24# Hsieh

With ThisWorkbook.Worksheets("State") 這句是不是指示了Master.xlsm內的State Sheet嗎?

TOP

本帖最後由 198188 於 2013-4-22 11:23 編輯

未命名.png
2013-4-22 11:23
b]回復 26# Hsieh


    是呀,我程式是放在MASTER.XLSM內,因為我怕放程式會導致EXCEL太大,無法上載,所以才分出來上載

TOP

回復  198188
Hsieh 發表於 2013-4-16 19:32



    另外可否幫我看看第18,19的貼文?
第18篇是問題,第19篇是程式。為何資料庫有空格時,會變成這樣,位置不對

TOP

[/code]回復  Hsieh


[code]Sub Detail()
Dim FRng As Range
Dim a As Range, Rng As Range
Dim ...
198188 發表於 2013-4-17 11:04


另外可否幫我看看第18,19的貼文?
第18篇是問題,第19篇是程式。為何資料庫有空格時,會變成這樣,位置不對
請問有方法解決這個問題嗎?

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題