Tìm code cho Hàm tính toán và hàm năm

Liên hệ QC

hoahuongduong1986

Thành viên thường trực
Tham gia
14/11/18
Bài viết
346
Được thích
40
Kính gửi Anh chị,

Có thể dùng code gì thay cho các hàm tại các ô tại vùng H4 và I14 ạ. Cảm ơn anh chị.
 

File đính kèm

  • Viet code cho ham quy doi tien va nam.xlsx
    11.4 KB · Đọc: 6
Kính gửi Anh chị,

Có thể dùng code gì thay cho các hàm tại các ô tại vùng H4 và I14 ạ. Cảm ơn anh chị.
Bạn thử dùng sub này
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long, result(), change As Range
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Set change = Intersect(Range("B4:G600000"), Target)
    Set change = Intersect(Target, Range("E4:E600000"))
    If Not change Is Nothing Then
        result = change.Resize(change.Rows.Count + 1).Value
        ReDim Preserve result(1 To UBound(result), 1 To 1)
        For i = 1 To UBound(result) - 1
            If Len(result(i, 1)) Then
                result(i, 1) = Format(result(i, 1), "yyyy")
            End If
        Next i
        change.Offset(0, 4).Resize(, 1).Value = result
    End If

With [H4:H1000]
.Value = "=IF(RC7=""VND"",RC6,IF(RC7=""USD"",RC6*'Ty gia'!R4C3,'Sao ke'!RC6*'Ty gia'!R5C3))/1000000"
.Value = .Value
End With
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub
 

File đính kèm

  • Viet code cho ham quy doi tien va nam.xlsm
    18.9 KB · Đọc: 8
Upvote 0
Hàm qui đổi (ở cột H) có nội dung như sau:
PHP:
Function QD_(SoTien As Double, LT As String) As Double
 Dim Loai As String:                    Dim TGia As Double
 
 Loai = Left(LT, 1)
 Select Case Loai
 Case "V":                                  TGia = 1
 Case "U"
    TGia = Sheets("Ty gia").[C4]
 Case "E"
    TGia = Sheets("Ty gia").[C5]
 End Select
 QD_ = (SoTien * TGia / 10 ^ 6)
End Function

Cú pháp tại [H7] sẽ là: =QD_(F7,G7)
 
Upvote 0
Bạn thử dùng sub này
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long, result(), change As Range
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Set change = Intersect(Range("B4:G600000"), Target)
    Set change = Intersect(Target, Range("E4:E600000"))
    If Not change Is Nothing Then
        result = change.Resize(change.Rows.Count + 1).Value
        ReDim Preserve result(1 To UBound(result), 1 To 1)
        For i = 1 To UBound(result) - 1
            If Len(result(i, 1)) Then
                result(i, 1) = Format(result(i, 1), "yyyy")
            End If
        Next i
        change.Offset(0, 4).Resize(, 1).Value = result
    End If

With [H4:H1000]
.Value = "=IF(RC7=""VND"",RC6,IF(RC7=""USD"",RC6*'Ty gia'!R4C3,'Sao ke'!RC6*'Ty gia'!R5C3))/1000000"
.Value = .Value
End With
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub





Em cảm ơn Anh nhiều ạ !
Bài đã được tự động gộp:

Hàm qui đổi (ở cột H) có nội dung như sau:
PHP:
Function QD_(SoTien As Double, LT As String) As Double
Dim Loai As String:                    Dim TGia As Double

Loai = Left(LT, 1)
Select Case Loai
Case "V":                                  TGia = 1
Case "U"
    TGia = Sheets("Ty gia").[C4]
Case "E"
    TGia = Sheets("Ty gia").[C5]
End Select
QD_ = (SoTien * TGia / 10 ^ 6)
End Function

Cú pháp tại [H7] sẽ là: =QD_(F7,G7)



Em cảm ơn Anh ạ !
 
Upvote 0
Bạn thử dùng sub này
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long, result(), change As Range
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Set change = Intersect(Range("B4:G600000"), Target)
    Set change = Intersect(Target, Range("E4:E600000"))
    If Not change Is Nothing Then
        result = change.Resize(change.Rows.Count + 1).Value
        ReDim Preserve result(1 To UBound(result), 1 To 1)
        For i = 1 To UBound(result) - 1
            If Len(result(i, 1)) Then
                result(i, 1) = Format(result(i, 1), "yyyy")
            End If
        Next i
        change.Offset(0, 4).Resize(, 1).Value = result
    End If

With [H4:H1000]
.Value = "=IF(RC7=""VND"",RC6,IF(RC7=""USD"",RC6*'Ty gia'!R4C3,'Sao ke'!RC6*'Ty gia'!R5C3))/1000000"
.Value = .Value
End With
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub


Dear Anh,
Em xem chay code rồi ạ. Em muốn không phải áp dụng cho Sheet đó mà giờ cho Code vào Module thì có được không ạ. Tức là em tạo một Nút bấm tại Sheet Tỷ giá thì kết quả vẫn lên ạ.
 
Lần chỉnh sửa cuối:
Upvote 0
Dear Anh,
Em xem chay code rồi ạ. Em muốn không phải áp dụng cho Sheet đó mà giờ cho Code vào Module thì có được không ạ. Tức là em tạo một Nút bấm tại Sheet Tỷ giá thì kết quả vẫn lên ạ.
Em muốn hỏi chút ạ.

Đoạn Code dưới đây mượn hàm IF. Nếu không dùng hàm thì sẽ làm thế nào ạ.

With [H4:H1000]
.Value = "=IF(RC7=""VND"",RC6,IF(RC7=""USD"",RC6*'Ty gia'!R4C3,'Sao ke'!RC6*'Ty gia'!R5C3))/1000000"
.Value = .Value
End With
 
Upvote 0
Web KT
Back
Top Bottom