Cách gộp hàm ma trận (1 người xem)

Liên hệ QC

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

Bạn xài macro sự kiện như sau

Mình mới hoàn tất khi C8=1 thôi;
Các số còn lại bạn tự ên trước đi nha!
PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [c8]) Is Nothing Then
   Const Hai As Byte = 2
   [e6] = 1:            [E7] = 0:            [e8] = 0
   [e9] = -1:           [E10] = 0:           [e11] = 0
   [H6] = -1:           [H7] = 0:            [H8] = 0
   [H9] = 1:            [H10] = 0:           [H11] = 0
   [F6] = 0:            [G6] = 0:            [I6] = 0:         [J6] = 0
   [F9] = 0:            [G9] = 0:            [I9] = 0:         [J9] = 0
   Select Case Target.Value
   Case 1
1      [f7] = 12:        [i7] = -12:          [f10] = -12:      [i10] = 12
      [g7].FormulaR1C1 = "=6*R[-3]C[-3]"
3     [j7].FormulaR1C1 = "=6*R[-3]C[-6]"
      [F8].FormulaR1C1 = "=6*R[-4]C[-2]"
5      [G8].FormulaR1C1 = "=4*R[-4]C[-3]^2"
      [I8].FormulaR1C1 = "=-6*R[-4]C[-5]"
7      [j8].FormulaR1C1 = "=2*R[-4]C[-6]^2"
      [g10].FormulaR1C1 = "=6*R[-5]C[-3]"
9      [J10].FormulaR1C1 = "=6*R[-5]C[-6]"
      [F11].FormulaR1C1 = "=6*R[-6]C[-2]"
11      [G11].FormulaR1C1 = "=2*R[-6]C[-3]"
      [i11].FormulaR1C1 = "=6*R[-6]C[-5]"
13      [J11].FormulaR1C1 = "=4*R[-6]C[-6]^2"
   Case 2
   
   Case 3
   
   Case 4
   
   End Select
 End If
End Sub
(File của bạn hình như có vi trùng đó!)
 
Chỉnh sửa lần cuối bởi điều hành viên:
Nhân tiện hỏi bác HYen17 một chút là bác giải thích thêm phần đoạn macro này:
[g7].FormulaR1C1 = "=6*R[-3]C[-3]"
[j7].FormulaR1C1 = "=6*R[-3]C[-6]"
[F8].FormulaR1C1 = "=6*R[-4]C[-2]"
[G8].FormulaR1C1 = "=4*R[-4]C[-3]^2"
[I8].FormulaR1C1 = "=-6*R[-4]C[-5]"
[j8].FormulaR1C1 = "=2*R[-4]C[-6]^2"
[g10].FormulaR1C1 = "=6*R[-5]C[-3]"
[J10].FormulaR1C1 = "=6*R[-5]C[-6]"
[F11].FormulaR1C1 = "=6*R[-6]C[-2]"
[G11].FormulaR1C1 = "=2*R[-6]C[-3]"
[i11].FormulaR1C1 = "=6*R[-6]C[-5]"
[J11].FormulaR1C1 = "=4*R[-6]C[-6]^2"
Giả sử muốn thay đổi ô giá trị a sang một ô khác thì đoạn này sẽ như thế nào (phần chữ màu đỏ)
 
PHP:
  Case 1
1      [f7] = 12:        [i7] = -12:          [f10] = -12:      [i10] = 12
      [g7].FormulaR1C1 = "=6*R[-3]C[-3]" 
3     [j7].FormulaR1C1 = "=6*R[-3]C[-6]"
      [F8].FormulaR1C1 = "=6*R[-4]C[-2]"
5      [G8].FormulaR1C1 = "=4*R[-4]C[-3]^2"
      [I8].FormulaR1C1 = "=-6*R[-4]C[-5]"
7      [j8].FormulaR1C1 = "=2*R[-4]C[-6]^2"
      [g10].FormulaR1C1 = "=6*R[-5]C[-3]"
9      [J10].FormulaR1C1 = "=6*R[-5]C[-6]"
      [F11].FormulaR1C1 = "=6*R[-6]C[-2]"
11      [G11].FormulaR1C1 = "=2*R[-6]C[-3]"
      [i11].FormulaR1C1 = "=6*R[-6]C[-5]"
13      [J11].FormulaR1C1 = "=4*R[-6]C[-6]^2"
   Case 2


Dòng lệnh 2: Ô G7 được gán công thức bằng 6 nhân với trị tại ô lùi lại 3 hàng & lùi 3 cột: [D5]

Dòng lệnh 5: [G8] được gán công thức = 4 * trị tại ô lùi 4 hàng & lùi 3 cột được bình fương lên

Dòng lệnh 13: [J11] được gán công thức = 4 * số liệu tại ô lùi so với [J11] này 6 hàng & lùi lại 6 cột đem bình fương lên: Thực chất cũng là [D5] bình fương mà thôi

 
Chỉnh sửa lần cuối bởi điều hành viên:
Web KT

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

Back
Top Bottom