Viết code lấy dữ liệu

Liên hệ QC

chisinhvnn

Thành viên tiêu biểu
Tham gia
7/3/08
Bài viết
479
Được thích
103
Nhờ GPE gúp mình lấy số liệu từ sheet"dulieu" sang sheet"thamdinh" với.
Cách lấy số liệu: từ sheet"dulieu" qua sheets"thamdinh"
+ Đối với giá trị họ tên thì thê hiện Họ tên, Năm sinh, CMND (Nguyễn Văn A, Sinh năm 1987, CMND số 191514598)
+ Đối với giá trị tài sản: nếu cột kích thước có giá trị thi nối cột Tài sản và kích thước và "m" (Nhà cấp 4: Nhà móng BT; cột BTCT; tường chịu lực xây gạch; mái ngói, tôn; nền xi măng, không có khu phụ trong nhà , kích thước: 7.5 x 3.5 m).
Nhờ GPE giúp đỡ.
 

File đính kèm

  • lay so lieu.xlsx
    363.3 KB · Đọc: 43
Anh dùng thử cái này xem sao
Mã:
Sub Layulieu()
    Dim sArr(), dArr(), Arr()
    Dim Dic As Object, I As Long, J As Long, K As Long, R As Long, KT As String
    Dim Rng As Range, v As Variant, Stt As Long, Sodem As Long, Tam As String
Set Dic = CreateObject("Scripting.Dictionary")
KT = ", K" & ChrW$(237) & "ch th" & ChrW$(432) & ChrW$(7899) & "c: "
With Sheets("Dulieu")
    Set Rng = .Range("B4", .Range("B65535").End(3)).Resize(, 6)
    Arr = .Range("B3:G3").Value
    sArr = .Range("L4", .Range("L65535").End(3)).Resize(, 9).Value
End With
For I = 1 To UBound(sArr)
    Dic(sArr(I, 1)) = 1
Next I
ReDim dArr(1 To UBound(sArr) * 2, 1 To 9)
For Each v In Dic.keys()
    For I = 1 To UBound(sArr)
        If sArr(I, 1) = v Then
            Sodem = Sodem + 1
            If Sodem = 1 Then
                K = K + 1: Stt = Stt + 1
                dArr(K, 1) = Stt
                dArr(K, 2) = Application.VLookup(v, Rng, 2, False)
                For J = 3 To 4
                    Tam = Application.VLookup(v, Rng, J, False)
                    If Tam <> Empty Then dArr(K, 2) = dArr(K, 2) & "; " & Arr(1, J) & ": " & Tam
                Next J
            End If
            K = K + 1
            If sArr(I, 4) <> Empty Then
                dArr(K, 2) = sArr(I, 3) & KT & sArr(I, 4) & " m"
            Else
                dArr(K, 2) = sArr(I, 3)
            End If
            dArr(K, 3) = sArr(I, 5): dArr(K, 4) = sArr(I, 6): dArr(K, 5) = sArr(I, 7)
            dArr(K, 6) = sArr(I, 8): dArr(K, 7) = sArr(I, 9)
        End If
    Next I
    Sodem = 0
Next
With Sheets("ThamDinh")
    .Range("A6:H1000").ClearContents
    .Range("A6").Resize(K, 9) = dArr
End With
Set Dic = Nothing
End Sub
Mình chỉnh sửa lại code, xem giúp mình với.
Mã:
Public Sub Laydulieu()
    Dim sArr(), dArr(), arr(), sarr1(), darr1(), dArr2(), arr4(), dArr4(), sArr4()
    Dim Dic As Object, i As Long, J As Long, K As Long, R As Long, KT As String
    Dim Rng As Range, v As Variant, Stt As Long, Sodem As Long, Tam As String
Set Dic = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
KT = ", K" & ChrW$(237) & "ch th" & ChrW$(432) & ChrW$(7899) & "c: "
With Sheets("Dulieu")
    Set Rng = .Range("B4", .Range("B65535").End(3)).Resize(, 6)
    arr = .Range("B3:G3").Value
    sArr = .Range("L4", .Range("L65535").End(3)).Resize(, 12).Value
End With
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'code bo sung
If Sheet1.Range("w2").Value = "" Then
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If Sheet1.[b4] = "" Then Exit Sub
For i = 1 To UBound(sArr)
    Dic(sArr(i, 1)) = 1
Next i
ReDim dArr(1 To UBound(sArr) * 2, 1 To 9)
For Each v In Dic.keys()
    For i = 1 To UBound(sArr)
        If sArr(i, 1) = v Then
            Sodem = Sodem + 1
            If Sodem = 1 Then
                K = K + 1: Stt = Stt + 1
                dArr(K, 1) = Stt
                dArr(K, 2) = Application.VLookup(v, Rng, 2, False)
                For J = 3 To 4
                    Tam = Application.VLookup(v, Rng, J, False)
                    If Tam <> Empty Then dArr(K, 2) = dArr(K, 2) & "; " & arr(1, J) & ": " & Tam
                Next J
            End If
            K = K + 1
            If sArr(i, 4) <> Empty Then
                dArr(K, 2) = sArr(i, 3) & KT & sArr(i, 4) & " m"
            Else
                dArr(K, 2) = sArr(i, 3)
            End If
            dArr(K, 3) = sArr(i, 5): dArr(K, 4) = sArr(i, 6): dArr(K, 5) = sArr(i, 7)
            dArr(K, 6) = sArr(i, 8): dArr(K, 7) = sArr(i, 9): dArr(K, 8) = sArr(i, 10)
            dArr(K, 9) = sArr(i, 11)
        End If
    Next i
    Sodem = 0
Next
With Sheets("ThamDinh")
    .Range("A6:N10000").ClearContents
    .Range("A6:N10000").ClearFormats
    .Range("A6").Resize(K, 9) = dArr
End With

Set Dic = Nothing
Application.ScreenUpdating = True
Sheet3.Activate
Call tinhtien2
Call dinhdang2
''''''''''''''''''''''''''''''''''''''''''''''''
Else
        ReDim darr1(1 To UBound(sArr), 1 To 11)
        For n = 1 To UBound(sArr)
            If sArr(n, 12) = Sheet1.[w2] Then
                K = K + 1
             
                darr1(K, 1) = sArr(n, 1)
                For l = 2 To 11
                    darr1(K, l) = sArr(n, l)
                Next l
            End If
        Next n
       '(đoạn này mình tạo mãng lấy dữ liệu theo đợt ở cột W (dữ liệu cột W minht ạo thêm so với file  gốc)
           ''''''''''''''''''''''''''''''
If Sheet1.[b4] = "" Then Exit Sub
For i = 1 To UBound(darr1)
    Dic(darr1(i, 1)) = 1
Next i
ReDim dArr2(1 To UBound(darr1) * 2, 1 To 9)
For Each v In Dic.keys()
    For i = 1 To UBound(darr1)
        If darr1(i, 1) = v Then
            Sodem = Sodem + 1
            If Sodem = 1 Then
                K = K + 1: Stt = Stt + 1
                dArr2(K, 1) = Stt
                dArr2(K, 2) = Application.VLookup(v, Rng, 2, False)
                For J = 3 To 4
                    Tam = Application.VLookup(v, Rng, J, False)
                    If Tam <> Empty Then dArr2(K, 2) = darr1(K, 2) & "; " & arr(1, J) & ": " & Tam
                Next J
            End If
            K = K + 1
            If darr1(i, 4) <> Empty Then
                dArr2(K, 2) = darr1(i, 3) & KT & darr1(i, 4) & " m"
            Else
                dArr2(K, 2) = darr1(i, 3)
            End If
            dArr2(K, 3) = darr1(i, 5): dArr2(K, 4) = darr1(i, 6): dArr2(K, 5) = darr1(i, 7)
            dArr2(K, 6) = darr1(i, 8): dArr2(K, 7) = darr1(i, 9): dArr2(K, 8) = darr1(i, 10)
            dArr2(K, 9) = darr1(i, 11)
        End If
    Next i
    Sodem = 0
Next
With Sheets("ThamDinh")
    .Range("A6:N10000").ClearContents
    .Range("A6:N10000").ClearFormats
    .Range("A6").Resize(K, 9) = dArr2
End With

Set Dic = Nothing
Application.ScreenUpdating = True
Sheet3.Activate
Call tinhtien2
Call dinhdang2
 

End If

End Sub[code]
Nó báo lỗi ở dòng [code]Tam = Application.VLookup(v, Rng, J, False)
 
Upvote 0
Tìm tới chỗ chuyên để ghi code ấy, cho khúc trên vào đó.
Người ta làm giúp mình còn cho vào đó để khi mình nhận hàng còn biết lấy về.
Vậy mình đi hỏi cũng cố mà làm được như thế. Nếu không làm được như thế thì hết cách!
Mình làm được rồi. Cảm ơn
 
Upvote 0
Giúp đỡ code khong phải dùng thêm sheet phụ để lọc.
Nếu ở sheets "Dulieu" ô W2 = "" thì lấy toàn bộ dữ liệu
Dựa trên PacificPR mình thêm đoạn code để lọc dữ liệu theo ô W2. Vấn đề ở chổ là mình tạo ra 1 mãng phải ghi xuống sheets rồi lấy ngược lại mới được. Nhờ GPE giúp đỡ không phải dùng thêm sheet để lấy dữ liệu.
Mã:
Public Sub Laydulieu2()
    Dim sArr(), dArr(), arr(), sarr1(), darr1(), dArr2(), arr4(), dArr4(), sArr4()
    Dim Dic As Object, i As Long, J As Long, K As Long, R As Long, KT As String
    Dim Rng As Range, v As Variant, Stt As Long, Sodem As Long, Tam As String, s As Variant
Set Dic = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
KT = ", K" & ChrW$(237) & "ch th" & ChrW$(432) & ChrW$(7899) & "c: "

With Sheets("Dulieu")
    Set Rng = .Range("B4", .Range("B65535").End(3)).Resize(, 6)
    arr = .Range("B3:G3").Value
    sArr = .Range("L4", .Range("L65535").End(3)).Resize(, 12).Value
End With
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If Sheet1.[w2] = "" Then
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If Sheet1.[b4] = "" Then Exit Sub
For i = 1 To UBound(sArr)
    Dic(sArr(i, 1)) = 1
Next i
ReDim dArr(1 To UBound(sArr) * 2, 1 To 9)
For Each v In Dic.keys()
    For i = 1 To UBound(sArr)
        If sArr(i, 1) = v Then
            Sodem = Sodem + 1
            If Sodem = 1 Then
                K = K + 1: Stt = Stt + 1
                dArr(K, 1) = Stt
                dArr(K, 2) = Application.VLookup(v, Rng, 2, False)
                For J = 3 To 4
                    Tam = Application.VLookup(v, Rng, J, False)
                    If Tam <> Empty Then dArr(K, 2) = dArr(K, 2) & "; " & arr(1, J) & ": " & Tam
                Next J
            End If
            K = K + 1
            If sArr(i, 4) <> Empty Then
                dArr(K, 2) = sArr(i, 3) & KT & sArr(i, 4) & " m"
            Else
                dArr(K, 2) = sArr(i, 3)
            End If
            dArr(K, 3) = sArr(i, 5): dArr(K, 4) = sArr(i, 6): dArr(K, 5) = sArr(i, 7)
            dArr(K, 6) = sArr(i, 8): dArr(K, 7) = sArr(i, 9): dArr(K, 8) = sArr(i, 10)
            dArr(K, 9) = sArr(i, 11)
        End If
    Next i
    Sodem = 0
Next
With Sheets("ThamDinh")
    .Range("A6:N10000").ClearContents
    .Range("A6:N10000").ClearFormats
    .Range("A6").Resize(K, 9) = dArr
End With

Set Dic = Nothing
Application.ScreenUpdating = True
Sheet3.Activate
Call tinhtien2
Call dinhdang2
Else
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'loc ra theo dieu kien o W2
        sArr = Sheet1.Range("L4:W" & Sheet1.Range("L100000").End(xlUp).Row).Value
        ReDim dArr2(1 To UBound(sArr), 1 To 11)
        For n = 1 To UBound(sArr)
            If sArr(n, 12) = Sheet1.[w2] Then
                u = u + 1
               
                dArr2(u, 1) = sArr(n, 1)
                For J = 2 To 11
                    dArr2(u, J) = sArr(n, J)
                Next J
               
            End If
        Next n
       Sheet6.Range("A4:w10000").ClearContents
        If u = 0 Then
            MsgBox "Khong co du lieu"
            Exit Sub
        End If
      'ghi du lieu xuong sheet
        Sheet6.Range("A4").Resize(u, 11) = dArr2
       
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'su dung sheet phu
darr1 = Sheet6.Range("A4:K" & Sheet6.Range("A100000").End(xlUp).Row).Value



If Sheet1.[b4] = "" Then Exit Sub
For i = 1 To UBound(darr1)
    Dic(darr1(i, 1)) = 1
Next i
ReDim dArr(1 To UBound(darr1) * 2, 1 To 9)
For Each v In Dic.keys()
    For i = 1 To UBound(darr1)
        If darr1(i, 1) = v Then
            Sodem = Sodem + 1
            If Sodem = 1 Then
                m = m + 1: Stt = Stt + 1
                dArr(m, 1) = Stt
                dArr(m, 2) = Application.VLookup(v, Rng, 2, False)
                For J = 3 To 4
                    Tam = Application.VLookup(v, Rng, J, False)
                    If Tam <> Empty Then dArr(m, 2) = dArr(m, 2) & "; " & arr(1, J) & ": " & Tam
                Next J
            End If
            m = m + 1
            If darr1(i, 4) <> Empty Then
                dArr(m, 2) = darr1(i, 3) & KT & darr1(i, 4) & " m"
            Else
                dArr(m, 2) = darr1(i, 3)
            End If
            dArr(m, 3) = darr1(i, 5): dArr(m, 4) = darr1(i, 6): dArr(m, 5) = darr1(i, 7)
            dArr(m, 6) = darr1(i, 8): dArr(m, 7) = darr1(i, 9): dArr(m, 8) = darr1(i, 10)
            dArr(m, 9) = darr1(i, 11)
        End If
    Next i
    Sodem = 0
Next
With Sheets("ThamDinh")
    .Range("A6:N10000").ClearContents
    .Range("A6:N10000").ClearFormats
    .Range("A6").Resize(m, 9) = dArr
End With

Set Dic = Nothing
Application.ScreenUpdating = True
Sheet3.Activate
Call tinhtien2
Call dinhdang2
End If
End Sub
 
Upvote 0
Giúp đỡ code khong phải dùng thêm sheet phụ để lọc.
Nếu ở sheets "Dulieu" ô W2 = "" thì lấy toàn bộ dữ liệu
Dựa trên PacificPR mình thêm đoạn code để lọc dữ liệu theo ô W2. Vấn đề ở chổ là mình tạo ra 1 mãng phải ghi xuống sheets rồi lấy ngược lại mới được. Nhờ GPE giúp đỡ không phải dùng thêm sheet để lấy dữ liệu.
Mã:
Public Sub Laydulieu2()
    Dim sArr(), dArr(), arr(), sarr1(), darr1(), dArr2(), arr4(), dArr4(), sArr4()
    Dim Dic As Object, i As Long, J As Long, K As Long, R As Long, KT As String
    Dim Rng As Range, v As Variant, Stt As Long, Sodem As Long, Tam As String, s As Variant
Set Dic = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
KT = ", K" & ChrW$(237) & "ch th" & ChrW$(432) & ChrW$(7899) & "c: "

With Sheets("Dulieu")
    Set Rng = .Range("B4", .Range("B65535").End(3)).Resize(, 6)
    arr = .Range("B3:G3").Value
    sArr = .Range("L4", .Range("L65535").End(3)).Resize(, 12).Value
End With
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If Sheet1.[w2] = "" Then
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If Sheet1.[b4] = "" Then Exit Sub
For i = 1 To UBound(sArr)
    Dic(sArr(i, 1)) = 1
Next i
ReDim dArr(1 To UBound(sArr) * 2, 1 To 9)
For Each v In Dic.keys()
    For i = 1 To UBound(sArr)
        If sArr(i, 1) = v Then
            Sodem = Sodem + 1
            If Sodem = 1 Then
                K = K + 1: Stt = Stt + 1
                dArr(K, 1) = Stt
                dArr(K, 2) = Application.VLookup(v, Rng, 2, False)
                For J = 3 To 4
                    Tam = Application.VLookup(v, Rng, J, False)
                    If Tam <> Empty Then dArr(K, 2) = dArr(K, 2) & "; " & arr(1, J) & ": " & Tam
                Next J
            End If
            K = K + 1
            If sArr(i, 4) <> Empty Then
                dArr(K, 2) = sArr(i, 3) & KT & sArr(i, 4) & " m"
            Else
                dArr(K, 2) = sArr(i, 3)
            End If
            dArr(K, 3) = sArr(i, 5): dArr(K, 4) = sArr(i, 6): dArr(K, 5) = sArr(i, 7)
            dArr(K, 6) = sArr(i, 8): dArr(K, 7) = sArr(i, 9): dArr(K, 8) = sArr(i, 10)
            dArr(K, 9) = sArr(i, 11)
        End If
    Next i
    Sodem = 0
Next
With Sheets("ThamDinh")
    .Range("A6:N10000").ClearContents
    .Range("A6:N10000").ClearFormats
    .Range("A6").Resize(K, 9) = dArr
End With

Set Dic = Nothing
Application.ScreenUpdating = True
Sheet3.Activate
Call tinhtien2
Call dinhdang2
Else
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'loc ra theo dieu kien o W2
        sArr = Sheet1.Range("L4:W" & Sheet1.Range("L100000").End(xlUp).Row).Value
        ReDim dArr2(1 To UBound(sArr), 1 To 11)
        For n = 1 To UBound(sArr)
            If sArr(n, 12) = Sheet1.[w2] Then
                u = u + 1
              
                dArr2(u, 1) = sArr(n, 1)
                For J = 2 To 11
                    dArr2(u, J) = sArr(n, J)
                Next J
              
            End If
        Next n
       Sheet6.Range("A4:w10000").ClearContents
        If u = 0 Then
            MsgBox "Khong co du lieu"
            Exit Sub
        End If
      'ghi du lieu xuong sheet
        Sheet6.Range("A4").Resize(u, 11) = dArr2
      
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'su dung sheet phu
darr1 = Sheet6.Range("A4:K" & Sheet6.Range("A100000").End(xlUp).Row).Value



If Sheet1.[b4] = "" Then Exit Sub
For i = 1 To UBound(darr1)
    Dic(darr1(i, 1)) = 1
Next i
ReDim dArr(1 To UBound(darr1) * 2, 1 To 9)
For Each v In Dic.keys()
    For i = 1 To UBound(darr1)
        If darr1(i, 1) = v Then
            Sodem = Sodem + 1
            If Sodem = 1 Then
                m = m + 1: Stt = Stt + 1
                dArr(m, 1) = Stt
                dArr(m, 2) = Application.VLookup(v, Rng, 2, False)
                For J = 3 To 4
                    Tam = Application.VLookup(v, Rng, J, False)
                    If Tam <> Empty Then dArr(m, 2) = dArr(m, 2) & "; " & arr(1, J) & ": " & Tam
                Next J
            End If
            m = m + 1
            If darr1(i, 4) <> Empty Then
                dArr(m, 2) = darr1(i, 3) & KT & darr1(i, 4) & " m"
            Else
                dArr(m, 2) = darr1(i, 3)
            End If
            dArr(m, 3) = darr1(i, 5): dArr(m, 4) = darr1(i, 6): dArr(m, 5) = darr1(i, 7)
            dArr(m, 6) = darr1(i, 8): dArr(m, 7) = darr1(i, 9): dArr(m, 8) = darr1(i, 10)
            dArr(m, 9) = darr1(i, 11)
        End If
    Next i
    Sodem = 0
Next
With Sheets("ThamDinh")
    .Range("A6:N10000").ClearContents
    .Range("A6:N10000").ClearFormats
    .Range("A6").Resize(m, 9) = dArr
End With

Set Dic = Nothing
Application.ScreenUpdating = True
Sheet3.Activate
Call tinhtien2
Call dinhdang2
End If
End Sub
Anh đính kèm lại file. Nói lại nội dung làm nha. Lâu quá lên chưa hình dung lại được anh ạ
 
Upvote 0
Nhờ GPE gúp mình lấy số liệu từ sheet"dulieu" sang sheet"thamdinh" với.
Cách lấy số liệu: từ sheet"dulieu" qua sheets"thamdinh"
+ Đối với giá trị họ tên thì thê hiện Họ tên, Năm sinh, CMND (Nguyễn Văn A, Sinh năm 1987, CMND số 191514598)
+ Đối với giá trị tài sản: nếu cột kích thước có giá trị thi nối cột Tài sản và kích thước và "m" (Nhà cấp 4: Nhà móng BT; cột BTCT; tường chịu lực xây gạch; mái ngói, tôn; nền xi măng, không có khu phụ trong nhà , kích thước: 7.5 x 3.5 m).
Nhờ GPE giúp đỡ.
Nếu tôi làm thì định hướng của tôi là như thế này (do chưa rảnh nên tôi chưa giúp được):

Để đơn giản thì sử dụng 1 sheet làm mẫu Bảng kê chi tiết từng hộ (sử dụng thống nhất), khi nhập thông tin hộ xong nhấn nút nhập sẽ Insert thành sheet mới (với dữ liệu và tên sheet là hộ đó), đồng thời lưu dữ liệu vào sheet Nha_VKT_CayTrong và sheet Tổng hợp hộ.

Sẽ nhẹ nhàng hơn là dùng từng sheet hộ để tổng hợp vào biểu, làm cách trên thì các sheet hộ thống nhất về vị trí các Cell cần lấy dữ liệu, nếu muốn làm ngược lại thì cũng dễ dàng hơn.
 
Lần chỉnh sửa cuối:
Upvote 0
Nếu tôi làm thì định hướng của tôi là như thế này (do chưa rảnh nên tôi chưa giúp được):

Để đơn giản thì sử dụng 1 sheet làm mẫu Bảng kê chi tiết từng hộ (sử dụng thống nhất), khi nhập thông tin hộ xong nhấn nút nhập sẽ Insert thành sheet mới (với dữ liệu và tên sheet là hộ đó), đồng thời lưu dữ liệu vào sheet Nha_VKT_CayTrong và sheet Tổng hợp hộ.

Sẽ nhẹ nhàng hơn là dùng từng sheet hộ để tổng hợp vào biểu, làm cách trên thì các sheet hộ thống nhất về vị trí các Cell cần lấy dữ liệu, nếu muốn làm ngược lại thì cũng dễ dàng hơn.
Em lưu trên 1 sheet data chung anh afh. Phần nhập liệu và chỉnh sửa thì em nhờ anh em GPE giúp đỡ làm được rồi. Bây giờ đang làm phần tổng hợp theo đợt của từng đối tượng và từng đợt anh afh.
 
Upvote 0
Em lưu trên 1 sheet data chung anh afh. Phần nhập liệu và chỉnh sửa thì em nhờ anh em GPE giúp đỡ làm được rồi. Bây giờ đang làm phần tổng hợp theo đợt của từng đối tượng và từng đợt anh afh.
Em nên làm mẫu 1 File, rồi mở Topic khác với tiêu đề là Dùng SheetForm để nhập liệu và lưu thành sheet mới (với tên sheet là họ tên ở tại Cell nào), như nội dung như bài 26, với 4 sheet như sau:

1/ 1 sheet Nha_VKT_CayTrong.
2/ 1 sheet Tổng hợp hộ (sheet này nên thêm cột tên dự án và cột đợt) để lưu dữ liệu từng đợt vào sheet theo dõi chung tất cả các dự án.
3/ 1 sheet mẫu Bảng kê chi tiết (từng hộ sử dụng thống nhất mẫu này), khi nhập thông tin của hộ vào sheet mẫu xong thì nhấn nút nhập dữ liệu nó sẽ lưu thông tin (cần theo dõi, tổng hợp) vào sheet Nha_VKT_CayTrong và sheet Tổng hợp hộ, đồng thời sẽ Insert thành sheet mới (với dữ liệu và tên sheet là hộ đó), như vậy: Khi nhập thông tin 32 hộ thì ta sẽ được 32 sheet hộ (với tên sheet Tab là tên hộ).
4/ 1 sheet theo dõi chung tất cả các dự án (nên thêm cột tên huyện, tên xã), mục đích dùng để tổng hợp, báo cáo hoặc trích lọc theo từng dự án theo huyện, xã hoặc theo đợt khi cần.

Nói thêm: Đa số các tỉnh theo dõi mỗi đợt riêng 1 File, khi cần tổng hợp tất cả các dự án theo đợt thì khó khăn vô cùng (mất rất nhiều thời gian) chưa kể tổng hợp tái định cư, tái định cư hộ phụ.
 
Lần chỉnh sửa cuối:
Upvote 0
Em nên làm mẫu 1 File, rồi mở Topic khác với tiêu đề là Dùng SheetForm để nhập liệu và lưu thành sheet mới (với tên sheet là họ tên ở tại Cell nào), như nội dung như bài 26, với 4 sheet như sau:

1/ 1 sheet Nha_VKT_CayTrong.
2/ 1 sheet Tổng hợp hộ (sheet này nên thêm cột tên dự án và cột đợt) để lưu dữ liệu từng đợt vào sheet theo dõi chung tất cả các dự án.
3/ 1 sheet mẫu Bảng kê chi tiết (từng hộ sử dụng thống nhất mẫu này), khi nhập thông tin của hộ vào sheet mẫu xong thì nhấn nút nhập dữ liệu nó sẽ lưu thông tin (cần theo dõi, tổng hợp) vào sheet Nha_VKT_CayTrong và sheet Tổng hợp hộ, đồng thời sẽ Insert thành sheet mới (với dữ liệu và tên sheet là hộ đó), như vậy: Khi nhập thông tin 32 hộ thì ta sẽ được 32 sheet hộ.
4/ 1 sheet theo dõi chung tất cả các dự án, mục đích dùng tổng hợp, báo cáo hoặc trích lọc theo dự án hoặc theo đợt khi cần.
Em nghỉ chỉ cần 4 sheet anh ah, chứ như anh nói 1 hộ 1 sheet chắc chết quá (1 dự án có khi hơn cả trăm hộ mà anh). Nên theo góp ý của anh em làm 1 sheet để in ra chi tiết cho 1 hộ nữa là ổn anh afh. (file em gửi cho anh có các sheets như "danh mục tài sản, data, và sheet thamdinh", em thêm 1 sheet chi tiết hộ gia đình nữa là được rồi anh afh. Cảm ơn anh đã góp ý
 
Upvote 0
Em nghỉ chỉ cần 4 sheet anh ah, chứ như anh nói 1 hộ 1 sheet chắc chết quá (1 dự án có khi hơn cả trăm hộ mà anh). Nên theo góp ý của anh em làm 1 sheet để in ra chi tiết cho 1 hộ nữa là ổn anh afh. (file em gửi cho anh có các sheets như "danh mục tài sản, data, và sheet thamdinh", em thêm 1 sheet chi tiết hộ gia đình nữa là được rồi anh afh. Cảm ơn anh đã góp ý
Nếu dùng 4 sheet cũng được, nhưng sheet theo dõi phải thiết kế lại để lưu đầy đủ thông tin của hộ, khi cần truy vấn hộ nào thì dùng sheet mẫu (Bảng kê chi tiết) truy vấn thông tin hộ đó lại.
 
Upvote 0
Nếu dùng 4 sheet cũng được, nhưng sheet theo dõi phải thiết kế lại để lưu đầy đủ thông tin của hộ, khi cần truy vấn hộ nào thì dùng sheet mẫu (Bảng kê chi tiết) truy vấn thông tin hộ đó lại.
Đúng rồi anh. Em có gửi file qua mail của anh đấy. Anh có rảnh xem giúp và góp ý giúp em với.
 
Upvote 0
Đúng rồi anh. Em có gửi file qua mail của anh đấy. Anh có rảnh xem giúp và góp ý giúp em với.
Là người trong ngành nên khi nhìn qua là anh biết cần phải làm cái gì.

Để rảnh anh sẽ nghiên cứu thiết kế lại sheet theo dõi chung, để lưu đầy đủ các thông tin của hộ trong sheet mẫu (Bảng kê chi tiết), như vậy mới có cái để truy vấn ngược lại.

Nhưng không biết em ở cấp tỉnh hay cấp huyện để anh biết mà thiết kế lại sheet theo dõi chung cho phù hợp.
 
Upvote 0
Là người trong ngành nên khi nhìn qua là anh biết cần phải làm cái gì.

Để rảnh anh sẽ nghiên cứu thiết kế lại sheet theo dõi chung, để lưu đầy đủ các thông tin của hộ trong sheet mẫu (Bảng kê chi tiết), như vậy mới có cái để truy vấn ngược lại.

Nhưng không biết em ở cấp tỉnh hay cấp huyện để anh biết mà thiết kế lại sheet theo dõi chung cho phù hợp.
Em ở cấp huyện thôi anh.
 
Upvote 0
Web KT
Back
Top Bottom