duchuynh103
Thành viên thường trực
- Tham gia
- 25/9/07
- Bài viết
- 209
- Được thích
- 146
Làm vẫn được nhưng tôi nghĩ không lý nào bạn cần tìm địa chỉ cell? (để làm cái gì cơ chứ)Nhờ các anh chị chỉ giúp cách tìm địa chỉ ô chứa cột có dữ liệu bằng công thức hoặc bằng VBA (diễn đạt không chính xác lắm - mình gửi file kèm theo). Cảm ơn nhiều.
Làm vẫn được nhưng tôi nghĩ không lý nào bạn cần tìm địa chỉ cell? (để làm cái gì cơ chứ)
Nếu có thể được, bạn nói rõ mục đích cuối cùng đi ---> Sẽ làm luôn cho bạn 1 lần (mất công lòng vòng)
Muốn VBA thì VBA đâyCảm ơn thầy ndundu96081631, em đang có ý tưởng lập biểu thống kê cho một cơ sở theo mẫu tương tự như file đính kèm; Vì không muốn sử dụng các cột phụ nên Mong quý thầy giúp đỡ (nếu dùng VBA càng tốt). Xin cảm ơn
Muốn VBA thì VBA đây
Nhập vào Cell D22 ==> xem kết quả
- Theo mình, bài này bố trí dữ liệu ở một sheet, kết quả ở sheet khác có vẻ hợp lý hơn
- Phần đơn giá ở đâu, sao không tạo bảng đơn giá để code lượm nó bỏ vào kết quả rồi tính tổng luôn một lần cho xong
Làm theo đề bài thôi nhé
Híc
Thân
On Error Resume Next
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$22" Then
On Error Resume Next
If Target.Value <> "" Then
Dim Vung As Range, VatLieu As Range, I As Long, J As Long, Mg(), M As Long
Set VatLieu = Range([a5], [cc5].End(xlToLeft))
Set Vung = Range([a6], [a500].End(xlUp)).Resize(, VatLieu.Columns.Count)
ReDim Mg(1 To VatLieu.Columns.Count, 1 To 3)
M = 1
If [c25] <> "" Then Range([c25], [c200].End(xlUp)).EntireRow.Delete
For I = 1 To Vung.Rows.Count
If Vung(I, 1) = [d22] Then
For J = 2 To VatLieu.Columns.Count
If Vung(I, J) <> "" Then
Mg(M, 1) = VatLieu(J): Mg(M, 3) = Vung(I, J): M = M + 1
End If
Next J
Exit For
End If
Next I
[c25].Resize(M - 1).EntireRow.Insert
[c25].Resize(M - 1, 3) = Mg
End If
End If
End Sub