Board logo

標題: 欄位變換 [打印本頁]

作者: sillykin    時間: 2014-12-31 13:14     標題: 欄位變換

本帖最後由 sillykin 於 2014-12-31 13:16 編輯

(詳如『檔案說明』)如何運用在此程式呢?????(不太會加);如果『取消』要恢復原來值
Dim lRows As Long, lRow As Long
  Dim iI%
  
  lRows = Cells(Rows.Count, 1).End(xlUp).Row
  
For lRow = 3 To lRows
  With Cells(lRow, 1)
    Select Case .Offset(, 16)
    Case "單位主管"
      If Left(.Value, 1) <> "*" Then
        .Value = "*" & .Value

         .Offset(, 14) = .Offset(, 15)
           .Offset(, 3) = .Offset(, 1)
      End If
      
    Case "文字"
      If Right(.Value, 1) <> "*" Then .Value = .Value & "*"
   
       .Offset(, 14) = .Offset(, 15)
    Case "總務"
            
      .Offset(, 14) = .Offset(, 15) * 1.1
         
   Case ""
            
      .Offset(, 14) = .Offset(, 15)
            
    End Select
   
  End With
Next lRow
      
End Sub
作者: luhpro    時間: 2015-1-1 08:50

(詳如『檔案說明』)如何運用在此程式呢?????(不太會加);如果『取消』要恢復原來值
Dim lRows As Long, ...
sillykin 發表於 2014-12-31 13:14

是這樣嗎?

Case "單位主管" 區塊中 :
      .Offset(, 3) = .Offset(, 1)
改成
     .Offset(, 2) = Mid(.Value, 2, Len(.Value) - 2) & "(" & .Offset(, 2) & ")"

註 :
Offset 中的位移數字要扣掉自身,
即自身右邊那欄是 .Offset( ,1) 而不是 .Offset( ,2)
作者: sillykin    時間: 2015-1-1 13:02

回復 2# luhpro
謝謝大大的回覆
是這個答案...但執行第二次就累加..能否不讓他一直累加型態?
如果要『回覆成原本型態』.要如何去設定呢???
作者: sillykin    時間: 2015-1-4 14:53

回復 3# sillykin


     .Offset(, 2) = Mid(.Value, 2, Len(.Value) - 2) & "(" & .Offset(, 2) & ")"
如果要設定『取消』上述變回原來的『值』...要如何去設定呢??
作者: sillykin    時間: 2015-1-10 21:52

那位大大能否幫解呢????
作者: bobomi    時間: 2015-1-10 22:53

你還是提供完整的報表吧

    Select Case .Offset(, 16)
    Case "單位主管"
    Case "總務"
    Case "文字"
....

.Offset(, 16) 那一行根本找不到 "單位主管", "總務", "文字"...




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)