Nhập dữ liệu không sử dụng Alt+Enter

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

phuteo

Thành viên mới
Tham gia
6/12/08
Bài viết
39
Được thích
3
Các bác xem file đính kèm rùi gỡ dùm
 

File đính kèm

A Dom à, bạn ấy yêu cầu viết hàm cơ mà. Như vậy khi nội dung các ô nguồn thay đổi thì các ô đích cũng cập nhật theo được.
 
Các bác xem file đính kèm rùi gỡ dùm
Cái này đương nhiên phải dùng VBA
Gữi bạn 2 UDF thường dùng trên GPE này:
PHP:
Function UniqueList(SrcRng As Range, Pos As Long) As String
  Dim Clls As Range, Dic
  With CreateObject("Scripting.Dictionary")
    For Each Clls In SrcRng
      If Not IsEmpty(Clls) And Not .Exists(Clls.Value) Then
        .Add Clls.Value, Clls.Value: Pos = Pos - 1
        If Pos = 0 Then
          UniqueList = Clls: Exit Function
        End If
      End If
    Next Clls
  End With
End Function
PHP:
Function JoinSpec(ID As String, SrcRng As Range, Col_Index As Long, Optional Sep As String = vbLf) As String
  Dim Clls As Range, Temp
  With CreateObject("Scripting.Dictionary")
    For Each Clls In SrcRng.Resize(, 1)
      If Clls <> "" Then Temp = Clls.Value
      If Clls <> "" And Not .Exists(Clls.Value) Then
        .Add Clls.Value, Clls(, Col_Index).Value
      ElseIf Clls(, Col_Index) <> "" Then
        .Item(Temp) = .Item(Temp) & Sep & Clls(, Col_Index).Value
      End If
    Next
    JoinSpec = .Item(ID)
  End With
End Function
Xem cú pháp trong file đính kèm
Code này lợi hại ở chổ cho dù dữ liệu gốc có sort trước hay lộn xộn gì nó cũng tổng hợp được tuốt
 

File đính kèm

Cái này đương nhiên phải dùng VBA
Gữi bạn 2 UDF thường dùng trên GPE này:
PHP:
Function UniqueList(SrcRng As Range, Pos As Long) As String
  Dim Clls As Range, Dic
  With CreateObject("Scripting.Dictionary")
    For Each Clls In SrcRng
      If Not IsEmpty(Clls) And Not .Exists(Clls.Value) Then
        .Add Clls.Value, Clls.Value: Pos = Pos - 1
        If Pos = 0 Then
          UniqueList = Clls: Exit Function
        End If
      End If
    Next Clls
  End With
End Function
PHP:
Function JoinSpec(ID As String, SrcRng As Range, Col_Index As Long, Optional Sep As String = vbLf) As String
  Dim Clls As Range, Temp
  With CreateObject("Scripting.Dictionary")
    For Each Clls In SrcRng.Resize(, 1)
      If Clls <> "" Then Temp = Clls.Value
      If Clls <> "" And Not .Exists(Clls.Value) Then
        .Add Clls.Value, Clls(, Col_Index).Value
      ElseIf Clls(, Col_Index) <> "" Then
        .Item(Temp) = .Item(Temp) & Sep & Clls(, Col_Index).Value
      End If
    Next
    JoinSpec = .Item(ID)
  End With
End Function
Xem cú pháp trong file đính kèm
Code này lợi hại ở chổ cho dù dữ liệu gốc có sort trước hay lộn xộn gì nó cũng tổng hợp được tuốt

Nếu mình muốn thêm n mã với n vị trí và n sl thì phải lam sao bây giờ
 
Lần chỉnh sửa cuối:
Nếu mình muốn thêm n mã với n vị trí và n sl thì phải lam sao bây giờ
Hàm tự tạo trên của thầy Tuấn rất độc đáo, bạn có thể tuỳ biến sử dụng, thêm cột thêm dòng hay gì gì đó đều được. Bằng cách sửa vùng tham chiếu và số cột, số dòng cần tham chiếu
Bạn tự khám phá nhé.
 
Hàm tự tạo trên của thầy Tuấn rất độc đáo, bạn có thể tuỳ biến sử dụng, thêm cột thêm dòng hay gì gì đó đều được. Bằng cách sửa vùng tham chiếu và số cột, số dòng cần tham chiếu
Bạn tự khám phá nhé.
2 hàm trên có 1 điểm chung ở đoạn lấy các phần tử duy nhất ---> Doom xem thử liệu có thể gộp chúng thành 1 hàm duy nhất không? (tôi có nghĩ qua nhưng... chưa "chế biến" được)
Doom giúp 1 tay với nhé!
 
Web KT

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

Back
Top Bottom