Bạn tham khảo thửMình muốn tạo macro in list hồ sơ theo thứ tự từ a đến b, kèm theo điều kiện để chọn sheet in theo yêu cầu.
Sub InBB()
Dim Rng As Range, Cll As Range, SoBB As String
With Sheet1
Set Rng = .Range("A11", .Range("A" & Rows.Count).End(xlUp))
End With
With Sheet2
For Each Cll In Rng
If Cll.Value <> Empty And IsNumeric(Cll.Value) Then
.Range("N55").Value = Cll.Value
.PrintPreview
SoBB = .Range("A53").Value
If InStrRev(SoBB, "VC", -1, vbBinaryCompare) > 0 Then
Sheet3.PrintPreview: Sheet4.PrintPreview: GoTo Tiep
End If
If InStrRev(SoBB, "ATGT", -1, vbBinaryCompare) > 0 Then
Sheet5.PrintPreview: GoTo Tiep
End If
If InStrRev(SoBB, "BT", -1, vbBinaryCompare) > 0 Then
Sheet4.PrintPreview
End If
End If
Tiep:
Next
End With
End Sub
em hỏi thêm chút. bây giờ mình muốn chọn số thứ tự in biên bản thì làm thế nào ạ.... ví dụ chỉ in biên bản theo số thựu tự từ 2-5 chẳng hạn ạBạn tham khảo thử
Khi nào ưng cái bụng thì thay PrintPreview bằng PrintOut nhoéMã:Sub InBB() Dim Rng As Range, Cll As Range, SoBB As String With Sheet1 Set Rng = .Range("A11", .Range("A" & Rows.Count).End(xlUp)) End With With Sheet2 For Each Cll In Rng If Cll.Value <> Empty And IsNumeric(Cll.Value) Then .Range("N55").Value = Cll.Value .PrintPreview SoBB = .Range("A53").Value If InStrRev(SoBB, "VC", -1, vbBinaryCompare) > 0 Then Sheet3.PrintPreview: Sheet4.PrintPreview: GoTo Tiep End If If InStrRev(SoBB, "ATGT", -1, vbBinaryCompare) > 0 Then Sheet5.PrintPreview: GoTo Tiep End If If InStrRev(SoBB, "BT", -1, vbBinaryCompare) > 0 Then Sheet4.PrintPreview End If End If Tiep: Next End With End Sub
Bạn có muốn cái Form như thế này khôngem hỏi thêm chút. bây giờ mình muốn chọn số thứ tự in biên bản thì làm thế nào ạ.... ví dụ chỉ in biên bản theo số thựu tự từ 2-5 chẳng hạn ạ
dạ vâng... hướng dẫn em với ạ... em cũng đang muốn làm 1 forrm như này trên biên bản trên. vậy thêm code như nào ạBạn có muốn cái Form như thế này không
Thái Lọ nhà mình sao mà chán thế. Viết cho đúng chính tả tí coi nàodạ vâng... hướng dẫn em với ạ... em cũng đang muốn làm 1 forrm như này trên biên bản trên. vậy thêm code như nào ạ
Hướng dẫn em với ạ.Thái Lọ nhà mình sao mà chán thế. Viết cho đúng chính tả tí coi nào![]()
Để chiều nhé Bạn. Giờ phải đi mâm mân mất rồiHướng dẫn em với ạ.
giúp em cái form như này với ạ. Khi mình ấn vào nút Print hiện ra một Form để mình chọn in từ biên bản này đến biên bản kia. Em làm mà nó không chạy đượcĐể chiều nhé Bạn. Giờ phải đi mâm mân mất rồi
Bạn tải File Bài 8 xem thửgiúp em cái form như này với ạ. Khi mình ấn vào nút Print hiện ra một Form để mình chọn in từ biên bản này đến biên bản kia. Em làm mà nó không chạy được
Đúng rồi ạ. Em cảm ơn nhiều ạBạn tải File Bài 8 xem thử
Dạ... Có hàm nào xử lý được chuỗi dữ liệu này không ạBạn tải File Bài 8 xem thử
Hàm độ thì có Bạn àDạ... Có hàm nào xử lý được chuỗi dữ liệu này không ạ
Giúp thêm em về hàm này với ạ... Em có nhiều chuỗi phải nối kiểu này.Hàm độ thì có Bạn à
Bạn thử cái hàm này xem saoGiúp thêm em về hàm này với ạ... Em có nhiều chuỗi phải nối kiểu này.
Function UniqueTextJoin(ByVal Table_Array As Range, Optional Delimiter As String) As String
Dim sArr, Str, N As Long
Dim Dic As Object, Tmp, Khoa As String
Set Dic = CreateObject("Scripting.Dictionary")
sArr = Table_Array.Value
For Each Str In sArr
Tmp = Split(Str, Delimiter)
For N = 0 To UBound(Tmp)
If Tmp(N) <> Empty Then
Khoa = Trim(Tmp(N))
If Not Dic.Exists(Khoa) Then Dic.Add Khoa, ""
End If
Next N
Next
If Dic.Count Then UniqueTextJoin = Join(Dic.Keys, Delimiter)
End Function
D7=UniqueTextJoin(B5:B9;", ")
Bạn thử cái hàm này xem sao
Mã:Function UniqueTextJoin(ByVal Table_Array As Range, Optional Delimiter As String) As String Dim sArr, Str, N As Long Dim Dic As Object, Tmp, Khoa As String Set Dic = CreateObject("Scripting.Dictionary") sArr = Table_Array.Value For Each Str In sArr Tmp = Split(Str, Delimiter) For N = 0 To UBound(Tmp) If Tmp(N) <> Empty Then Khoa = Trim(Tmp(N)) If Not Dic.Exists(Khoa) Then Dic.Add Khoa, "" End If Next N Next If Dic.Count Then UniqueTextJoin = Join(Dic.Keys, Delimiter) End Function
Mã:D7=UniqueTextJoin(B5:B9;", ")
Em copy vào sao mà nó không chạy ra được kết quả mong muốn ạBạn thử cái hàm này xem sao
Mã:Function UniqueTextJoin(ByVal Table_Array As Range, Optional Delimiter As String) As String Dim sArr, Str, N As Long Dim Dic As Object, Tmp, Khoa As String Set Dic = CreateObject("Scripting.Dictionary") sArr = Table_Array.Value For Each Str In sArr Tmp = Split(Str, Delimiter) For N = 0 To UBound(Tmp) If Tmp(N) <> Empty Then Khoa = Trim(Tmp(N)) If Not Dic.Exists(Khoa) Then Dic.Add Khoa, "" End If Next N Next If Dic.Count Then UniqueTextJoin = Join(Dic.Keys, Delimiter) End Function
Mã:D7=UniqueTextJoin(B5:B9;", ")
Uổi. Bây giờ mới đọc lại hoá ra Bạn không phải là Chủ Topic.Em copy vào sao mà nó không chạy ra được kết quả mong muốn ạ
Em vào diễn đàn thấy có bạn thắc mắc giống mình nên tham gia topic luôn... Em cảm ơn bác nhiềuUổi. Bây giờ mới đọc lại hoá ra Bạn không phải là Chủ Topic.![]()
Em hỏi thêm bác về cách tính này với ạUổi. Bây giờ mới đọc lại hoá ra Bạn không phải là Chủ Topic.![]()
Thêm nhiều thếEm hỏi thêm bác về cách tính này với ạ
Function SumDate(ByVal Date_value As Date, _
ByVal Table_Lookup As Range, ByVal Col_Index As Long) As Long
Dim sArr(), i As Long, fDate As Date, eDate As Date, Sum_Date As Long
sArr = Table_Lookup.Value
For i = 1 To UBound(sArr)
If sArr(i, Col_Index) <> Empty Then
fDate = sArr(i, 1): eDate = sArr(i, 2)
If Date_value <= eDate Then
If Date_value >= fDate Then
Sum_Date = sArr(i, Col_Index) + Sum_Date
End If
End If
End If
Next i
SumDate = Sum_Date
End Function