返回列表 上一主題 發帖

userform篩選的問題

回復 1# sppk22
先單純就你想要找 *a 或 a* 形式文字的需求提供方式:
你可以使用 l = Instr(1, 儲存格, "a")
再判斷若 l = 1 則為 a* 形式
若 l >1 則為 *a 形式

至於你首篇裡的敘述,
我看不太懂你的需求,
可否提供一些範例結果畫面,
例如你輸入些什麼內容,
而篩選出的結果會顯示在哪裡...

TOP

回復  luhpro
    那用成這種方式呢???請大大幫忙..感恩
sppk22 發表於 2013-8-6 23:27
  1. Sub nn()
  2.   Dim lRows As Long, lRow As Long
  3.   Dim iI%
  4.   
  5.   lRows = Cells(Rows.Count, 1).End(xlUp).Row
  6.   
  7. For lRow = 3 To lRows
  8.   With Cells(lRow, 1)
  9.     Select Case .Offset(, 5)
  10.     Case "同"
  11.       .Value = "*" & .Value
  12.       .Offset(, 3) = .Offset(, 4) * 1.1
  13.     Case "出"
  14.       .Value = .Value & "*"
  15.     End Select
  16.   End With
  17. Next lRow
  18. End Sub
複製代碼

TOP

回復 8# sppk22
  1. Sub SetStart()
  2.   Dim lRows As Long, lRow As Long
  3.   Dim iI%
  4.   
  5.   lRows = Cells(Rows.Count, 1).End(xlUp).Row
  6.   
  7. For lRow = 3 To lRows
  8.   With Cells(lRow, 1)
  9.     Select Case .Offset(, 5)
  10.     Case "同"
  11.       If Left(.Value, 1) <> "*" Then
  12.         .Value = "*" & .Value
  13.         .Offset(, 3) = .Offset(, 4) * 1.1
  14.       End If
  15.     Case "出"
  16.       If Right(.Value, 1) <> "*" Then .Value = .Value & "*"
  17.     End Select
  18.   End With
  19. Next lRow
  20. End Sub
複製代碼
  1. Sub ClrStart()
  2.   Dim lRows As Long, lRow As Long
  3.   Dim iI%
  4.   
  5.   lRows = Cells(Rows.Count, 1).End(xlUp).Row
  6.   
  7. For lRow = 3 To lRows
  8.   With Cells(lRow, 1)
  9.     If Left(.Value, 1) = "*" Then
  10.         .Value = Mid(.Value, 2)
  11.         .Offset(, 3) = ""
  12.         .Offset(, 5) = "" ' 若不想清除 "出" 與 "同" 則刪除此行
  13.     ElseIf Right(.Value, 1) = "*" Then
  14.       .Value = Left(.Value, Len(.Value) - 1)
  15.     End If
  16.   End With
  17. Next lRow
  18. End Sub
複製代碼

TOP

        靜思自在 : 君子如水,隨方就圓,無處不自在。
返回列表 上一主題