Hỏi bài toán tổng vùng được chọn bằng vba (1 người xem)

  • Thread starter Thread starter onecry
  • Ngày gửi Ngày gửi
Liên hệ QC

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

onecry

Thành viên mới
Tham gia
30/1/13
Bài viết
43
Được thích
0
Chào các Thầy trên diễn đàn
hiện tại em có một bài toán mong được các thầy giúp đỡ
em cần dùng vba để giải quyết một vấn đề

ví dụ: khi em dùng chuột chọn vùng từ A1 đến vùng B3

thì em sẽ được 2 cột kết quả

1 : tổng giá trị cột a là: ( = tổng từ A1 đến A3)
2 : tổng giá trị cột b là: ( = tổng từ B1 đến B3)

và khi em dùng chuột thay đổi vùng chọn thì kết quả cũng thay đổi theo vùng em chọn.

cảm ơn các thầy.
 

File đính kèm

em xin phép đào topic này lên cái
ví dụ em cần sum 2 cột 15, 16
theo ngu kiến của em, em sửa code trên nhưng nó không chạy, Thày nào sửa giúp em với
Code hay công thức thì vui lòng cho vào thẻ CODE hoặc PHP.
Với T1=sum(Cột 15), S1=sum(cột 16):
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Columns.Count > 3 Then Exit Sub
On Error Resume Next
If Target.Column >= 15 And Target.Column <= 16 Then
    If Target.Columns.Count = 1 Then Sheet1.Range("S1").Offset(0, (Target.Column Mod 2)).Value = _
    WorksheetFunction.Sum(Target.Columns(1).Value)
    If Target.Columns.Count = 2 Then
        Sheet1.Range("S1").Value = WorksheetFunction.Sum(Target.Columns(2).Value)
        Sheet1.Range("T1").Value = WorksheetFunction.Sum(Target.Columns(1).Value)
    End If
End If
End Sub
 
Upvote 0
.......
em cần dùng vba để giải quyết một vấn đề
ví dụ: khi em dùng chuột chọn vùng từ A1 đến vùng B3
thì em sẽ được 2 cột kết quả
1 : tổng giá trị cột a là: ( = tổng từ A1 đến A3)
2 : tổng giá trị cột b là: ( = tổng từ B1 đến B3)
và khi em dùng chuột thay đổi vùng chọn thì kết quả cũng thay đổi theo vùng em chọn.
cảm ơn các thầy.

1. mục đích công việc em cần như thế, giải thích dài dòng lắm ạ
2. em đang cần kết quả 2 cột khác nhau, thanh trạng thái bên dưới chỉ cho 1 kết quả,
3. kết quả này cần hiển thị giá trị trong 1 cell, em còn dùng để kết hợp vs công thức khác nữa ạ.
Với đề bài này, mình sẽ dùng vùng đã chọn để xử nó
Mình làm theo ý của bạn, chọn 2 cột bất kỳ liên tục, cho kết quả 2 tổng, mình để kết quả ở cell [A1:A2] vì không biết bạn xử dụng những cột nào
Dĩ nhiên nếu cần số cột & số cell kết quả lớn hơn thì chỉnh lại code tý tẹo thôi
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Wf, Kq(1 To 2, 1 To 1)
    Set Wf = Application.WorksheetFunction
        If Selection.Columns.Count = 2 Then
            Kq(1, 1) = Wf.Sum(Selection.Columns(1))
            Kq(2, 1) = Wf.Sum(Selection.Columns(2))
            [A1].Resize(2) = Kq
        End If
End Sub
Thân
 

File đính kèm

Upvote 0
Thấy đông vui cũng nhào zô cái:
PHP:
Option Explicit
Sub Sum2Columns()
 Dim WF As Object
 
 Set WF = Application.WorksheetFunction
 On Error Resume Next
 If Selection.Columns.Count = 2 Then
    [A2].Value = WF.Sum(Selection(1).Resize(Selection.Rows.Count))
    [A3].Value = WF.Sum(Selection(2).Resize(Selection.Rows.Count))
 End If
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom