Code dò tìm lấy kết quả nhưng vẫn giữ nguyên định dạng. (1 người xem)

  • Thread starter Thread starter lhthai
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

lhthai

Thành viên thường trực
Tham gia
1/9/07
Bài viết
309
Được thích
27
Chào Các Anh Chị
Nhờ các Anh hiệu chỉnh code dò tìm lấy kết quả cột M nhưng vẫn giữ nguyên định dạng ban đầu.
Cột M có giữ liệu là '1/24 thì kết quả vẫn giữ nguyên là '1/24.
Các Anh chị xem file đính kèm.
 

File đính kèm

Chào Các Anh Chị
Nhờ các Anh hiệu chỉnh code dò tìm lấy kết quả cột M nhưng vẫn giữ nguyên định dạng ban đầu.
Cột M có giữ liệu là '1/24 thì kết quả vẫn giữ nguyên là '1/24.
Các Anh chị xem file đính kèm.

Sửa đoạn này:
Mã:
Dic.Add Tem, [COLOR=#ff0000]Arr(I, 5)[/COLOR]
Thành:
Mã:
Dic.Add Tem, [COLOR=#ff0000]IIf(VarType(Arr(I, 5)) = 8, "'", "") & Arr(I, 5)[/COLOR]
 
Upvote 0
Sửa đoạn này:
Mã:
Dic.Add Tem, [COLOR=#ff0000]Arr(I, 5)[/COLOR]
Thành:
Mã:
Dic.Add Tem, [COLOR=#ff0000]IIf(VarType(Arr(I, 5)) = 8, "'", "") & Arr(I, 5)[/COLOR]
Cám ơn Anh nhiều
Em sửa lại code như sau
Mã:
Private Sub CommandButton1_Click()
Dim Arr(), dArr(), Dic, I As Long, J As Long, Tem As String
Set Dic = CreateObject("Scripting.Dictionary")
With Sheet1
Arr = .Range(.[I5], .[I65500].End(xlUp)).Resize(, 6).Value2
End With
For I = 1 To UBound(Arr, 1)
    Tem = Arr(I, 1) & "#" & Arr(I, 6)
    If Not IsEmpty(Tem) And Not Dic.exists(Tem) Then
        Dic.Add Tem, IIf(VarType(Arr(I, 5)) = 8, "'", "") & Arr(I, 5)
    End If
Next I
With Sheet1
dArr = .Range(.[B5], .[B65500].End(xlUp)).Resize(, 6).Value
End With
For I = 1 To UBound(dArr, 1)
    Tem = dArr(I, 1) & "#" & dArr(I, 6)
    If Dic.exists(Tem) Then
        If dArr(I, 6) = "A" Then
            dArr(I, 5) = Dic.item(Tem)
           End If
    End If
Next I
With Sheet1
.[B5].Resize(UBound(dArr, 1), 6) = dArr
End With
Set Dic = Nothing
End Sub
 
Upvote 0
Sửa đoạn này:
Mã:
Dic.Add Tem, [COLOR=#ff0000]Arr(I, 5)[/COLOR]
Thành:
Mã:
Dic.Add Tem, [COLOR=#ff0000]IIf(VarType(Arr(I, 5)) = 8, "'", "") & Arr(I, 5)[/COLOR]
Chào Anh
Em còn vướng 1 trường hợp như sau
Tại vị trí cột F muốn giữ định dạng như ban đầu khi thưc hiện code
vd như cột F có giá trị '1/24 thì vẫn giữ nguyên khi chạy code.
 

File đính kèm

Upvote 0
Chào Anh
Em còn vướng 1 trường hợp như sau
Tại vị trí cột F muốn giữ định dạng như ban đầu khi thưc hiện code
vd như cột F có giá trị '1/24 thì vẫn giữ nguyên khi chạy code.

Sửa vòng lập for thứ 2 thành:
Mã:
For I = 1 To UBound(dArr, 1)
  Tem = dArr(I, 1)
  If Dic.exists(Tem) And dArr(I, 6) = "A" Then
    dArr(I, 5) = Dic.item(Tem)
  Else
    dArr(I, 5) = IIf(VarType(dArr(I, 5)) = 8, "'", "") & dArr(I, 5)
  End If
Next I
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom