Dùng hàm nào để định dạng (2 người xem)

Liên hệ QC

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

hung007007

Thành viên mới
Tham gia
31/3/07
Bài viết
40
Được thích
21
Giả sử dữ liệu

tại ô A1 là 120000, B1 là 10% khi đó tôi muốn tại ô A2 là

Sản lượng tăng +120.000 (+10%)

Khi tại ô A1 là -100000, B1 là 8% khi đó tôi muốn tại ô A2 là

Sản lượng là giảm 100.000 (-8%)

Yêu cầu của đề bài:
- Chữ "Sản lượng" là cố định và dùng ="Sản lượng " & chứa trong A2, XONG
- Chữ "Tăng" hay "giảm", cái này xử lý được bằng hàm If, XONG
- Bôi màu xanh, hay đỏ: Làm mãi không được !
- làm cho đoạn từ tăng/giảm đến hết dòng thành đậm, làm mãi không được

Các cao thủ giúp với

Có thể dùng hàm có sẵn, hàm tự tạo (Code VBA), ô tạm....
 
Giả sử dữ liệu

tại ô A1 là 120000, B1 là 10% khi đó tôi muốn tại ô A2 là

Sản lượng tăng +120.000 (+10%)

Khi tại ô A1 là -100000, B1 là 8% khi đó tôi muốn tại ô A2 là

Sản lượng là giảm 100.000 (-8%)

Yêu cầu của đề bài:
- Chữ "Sản lượng" là cố định và dùng ="Sản lượng " & chứa trong A2, XONG
- Chữ "Tăng" hay "giảm", cái này xử lý được bằng hàm If, XONG
- Bôi màu xanh, hay đỏ: Làm mãi không được !
- làm cho đoạn từ tăng/giảm đến hết dòng thành đậm, làm mãi không được

Các cao thủ giúp với

Có thể dùng hàm có sẵn, hàm tự tạo (Code VBA), ô tạm....
Bạn dùng conditional format với formular is: =a1>0 thì format theo các điều kiện
 
Bạn có thể nói rõ hơn được không ? chú ý, chữ "Sản lượng" không bôi đậm và không cùng màu với đoạn còn lại
Vậy là phải dùng VBA rồi

Sản lượng tăng 120.000 (+10%)
Có phải vậy không, khó nhỉ!Cái này có trên diễn đàn, bạn và tôi cùng kiếm nhé! Bác SA là siêu cái này lắm.
 
Chỉ có thể là giải pháp VBA (!)

Hướng dẫn sử dụng trước khi xài:
Vì trong VBA không hỗ trợ tiếng Việt (Hay do mình chưa biết cách), nên mình dùng 2 Names trong wokbook , đó là 'SLGiam' & 'SLTang'
Trong ngăn Refers to: bạn phải nhập tương ứng các từ:
"Sản lượng giảm "
"Sản lượng tăng "

Trên trang tính, bạn nhập vô cột 'A', xong sang cột 'B' nhập tiếp; khi bạn {ENTER} sẽ hiện chuỗi định dạng theo yêu cầu tại cột 'D'


PHP:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("B1:B99")) Is Nothing Then
    Dim CIndex As Integer
    With Target
        If .Offset(, -1) < 0 Then
            .Offset(, 2) = "=SLgiam":               CIndex = 5
        Else
            .Offset(, 2) = "=SLtang":               CIndex = 3
        End If
        .Offset(, 2) = .Offset(, 2) & .Offset(, -1) & "(" & 100 * .Value & "%)"
        ToMau .Offset(, 2), CIndex
 
    End With
 End If
 
End Sub
:-= :-=

Mã:
[B]Sub ToMau(Rng As Range, ColIndex)[/B]    
    With Rng.Characters(Start:=11, Length:=35).Font
        .FontStyle = "Bold":                        .ColorIndex = ColIndex
    End With
[B]End Sub[/B]
 
Em xin tham gia một code, nhưng mà không biết chuyển thành UDF
PHP:
Option Explicit
Sub KetQua()
Dim SL As Double
    Dim ChiTieu As String
With Application
    .ScreenUpdating = False
End With
    Sheet1.Select
    With Range("A2")
        .ClearContents
        .Font.Bold = False
        .Font.ColorIndex = 0
    End With
    SL = Range("a1")
    Select Case SL
    Case Is > 0
        ChiTieu = "S" & ChrW(7843) & "n l" & ChrW(432) & ChrW(7907) & "ng t" & ChrW(259) & "ng " & Format(SL, "#,000") & " (+" & Range("B1") * 100 & "%)"
    Case Is < 0
        ChiTieu = "S" & ChrW(7843) & "n l" & ChrW(432) & ChrW(7907) & "ng gi" & ChrW(7843) & "m " & Format(-SL, "#,000") & " (-" & Range("B1") * 100 & "%)"
    End Select
    Range("A2") = ChiTieu
    With Range("A2").Characters(Start:=15, Length:=20).Font
            .Bold = True
            If SL > 0 Then
                .ColorIndex = 5
            Else
                .ColorIndex = 3
            End If
    End With
    
With Application
    .ScreenUpdating = True
End With
End Sub
 
Cám ơn anh chị em, vấn đề là ở chỗ này
Range("A2").Characters(Start:=15, Length:=20).Font.Bold = True
Còn start= và len= thì tính được tùy vào chuỗi sản lượng và chiều dài thực của đoạn số ghép vào
 
Web KT

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

Back
Top Bottom