Hỏi: Tìm kiếm (dò tìm) đường kính có điều kiện? (1 người xem)

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

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

nad582

Thành viên thường trực
Tham gia
7/6/11
Bài viết
317
Được thích
48
Chào các a(c) trong GPE, e có vấn đề sau mong a(c) chỉ giúp.
Vấn đề như sau:
- Tại cột B là các đường kính cốt thép (trường hợp cốt thép) mà e đã cho trước
- Tại ô D1 là đường kính min: phi min
- Tại ô F16 là đường kính max: phi max
- Tại cột E (bắt đầu từ ô E3): là kết quả tìm kiếm
* Đề bài: tìm kiếm (hoặc thống kê) các trường hợp có đường kính nhỏ nhất (phi min) đến đường kính lớn nhất (phi max)
* ghi chú:
+ tại cột B, các trường hợp cốt thép: phi min và phi max đều đứng sau ký hiệu "f". Ví dụ: 5f14, 2f16+3f12,...
* Ví dụ: e có
- Tại cột B là các đường kính cốt thép (trường hợp cốt thép) mà e đã cho trước
- Tại ô D1 là đường kính min: phi min là 12
- Tại ô F16 là đường kính max: phi max là 16
- Tại cột E (bắt đầu từ ô E3): là kết quả tìm kiếm e đã tô màu xanh trong file đính kèm!!
*** a(c) làm bằng công thức cũng được và code cũng được!!
...........................................
Nếu chưa rõ câu hỏi e sẽ giải thích thêm, Mong các a(c) giúp e. Xin chân thành cảm ơn, mong hối âm!!
 

File đính kèm

Ý của bạn là cứ cái nào có 12 và 16 thì lọc nó ra pải không?
 
Chỉ đúng với số liệu của bạn trong file đưa lên mà thôi!
 

File đính kèm

Chỉ đúng với số liệu của bạn trong file đưa lên mà thôi!
Bài này rất đúng với ý đồ của e! Nhưng e có câu hỏi khác cũng liên quan đến vấn đề tìm kiếm ở bài #1.
Dữ liệu cũng giống như bài #1.
- Tại cột B là các đường kính cốt thép (trường hợp cốt thép) mà e đã cho trước
- Tại ô D1 là đường kính min: phi min
- Tại ô F16 là đường kính max: phi max
- Tại cột E (bắt đầu từ ô E3): là kết quả tìm kiếm
* Đề bài:
+
Nếu E1 là chữ "đến" thì tìm kiếm (hoặc thống kê) các trường hợp có đường kính nhỏ nhất (phi min) đến đường kính lớn nhất (phi max)
+Nếu E1 là chữ "và" tìm kiếm (hoặc thống kê) các trường hợp có đường kính nhỏ nhất (phi min) đường kính lớn nhất (phi max)
* ghi chú:
+ tại cột B, các trường hợp cốt thép: phi min và phi max đều đứng sau ký hiệu "f". Ví dụ: 5f14, 2f16+3f12,...
* Ví dụ: e có
- Tại cột B là các đường kính cốt thép (trường hợp cốt thép) mà e đã cho trước
- Tại ô D1 là đường kính min: phi min là 12
- Tại ô F16 là đường kính max: phi max là 16
- Tại cột E (bắt đầu từ ô E3) kết quả là: từ ô B3 đến ô b23 và từ ô B46 đến ô B81
E xin chân thành cảm ơn rất nhiều!!
 
Như vậy trường hợp tại [E1] là chữ "đến" là xong rồi fải không?

Nếu xong, bạn cảm fiền thay file ở bài đầu bằng 1 file khác, mà trong đó có kết quả được tạo ra bỡi chữ ""

Mình cũng đã kịp cải tiến fương án I để nó uyễn chuyển hơn; Bạn tham khảo:
PHP:
Option Explicit
Sub TongHopThep()
 Dim Cls As Range
 Dim Rws As Long, VTri As Byte
 Dim T1$, T2$
 Rws = [b3].CurrentRegion.Rows.Count
 Randomize         'InStr()'
 With [E2]
    .Offset(1).Resize(Rws).ClearContents
    .Interior.ColorIndex = 34 + 9 * Rnd() \ 1
 End With
 For Each Cls In Range([b3], [b3].End(xlDown))
    If Len(Cls.Value) > 6 Then
        VTri = InStr(Cls.Value, "+")
        T2 = Mid(Cls.Value, VTri + 1, 9)
        T1 = Left(Cls.Value, VTri - 1)
        If YN(T1) And YN(T2) Then _
            Cells(2 * Rws, "e").End(xlUp).Offset(1).Value = Cls.Value
    Else
        If YN(Cls.Value) Then Cells(2 * Rws, "e").End(xlUp).Offset(1).Value = Cls.Value
    End If
 Next Cls
End Sub
Mã:
[B]Function YN(StrC As String, Optional Min As String = "12", Optional Max As String = "16") As Boolean
[/B]Dim Txt$
    
 Txt = Right(StrC, 2)
 If Txt >= Min And Txt <= Max Then YN = Not YN
[B]End Function[/B]
 
Như vậy trường hợp tại [E1] là chữ "đến" là xong rồi fải không?

Nếu xong, bạn cảm fiền thay file ở bài đầu bằng 1 file khác, mà trong đó có kết quả được tạo ra bỡi chữ ""
Bài nỳ cũng đúng với yêu cầu của e, e gửi file đính kèm có kết quả. mong giúp dùm e!!
 

File đính kèm

Xong rồi đây, chắc vậy!
 

File đính kèm

Mã:
[B]Function YN(StrC As String, Optional Min As String = [COLOR=#ff0000]"12"[/COLOR], Optional Max As String = [COLOR=#ff0000]"16"[/COLOR]) As Boolean
[/B]Dim Txt$
    
 Txt = Right(StrC, 2)
 If Txt >= Min And Txt <= Max Then YN = Not YN
[B]End Function[/B]
e có vấn đề sau:
- làm sao thay đổi ô D1 và ô F1 thôi mà ko cần mỗi làn vào code thay đổi.
- làm sao chỉ thay đổi ô E1 (chữ "đến", chữ "và") rồi thực hiện code thôi!
- e có cột số thứ tự ở cột A, làm sao khi ra kết quả thì ra số thứ tự tưng ứng
....e xin hết ạ.......
mong a(c) giúp e. chân thành cảm ơn!!
 
Bạn xem file; Xài macro sự kiện nha & chúc vui!
 

File đính kèm

Web KT

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

Back
Top Bottom