Dùng hàm nào để định dạng

Liên hệ QC

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.
 
Mình làm thử,bạn xem có đúng ý không nhé
 

File đính kèm

  • định dạng.xls
    21 KB · Đọc: 44
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
Back
Top Bottom