ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] VBA ¤¤­pºâ¼Æ­È°ÝÃD

[µo°Ý] VBA ¤¤­pºâ¼Æ­È°ÝÃD

§Ú³]­p¤F¤@­Ó 3*3 ªº¯x°}, ·Q°µ row ªº­¼ªk,
¨Ò¦p, myarray1(2,2) ªº 1 * myarray1(3, 2) = 1 *myarray1(4, 2) = 1 / 3
§Y 1*1*3

³o­Ó»yªk­n«ç»ò¼g?

Dim myarray1(2 To 4, 2 To 4) As Single

myarray1(2, 2) = 1
myarray1(2, 3) = 1
myarray1(2, 4) = 3

myarray1(3, 2) = 1
myarray1(3, 3) = 1
myarray1(3, 4) = 2

myarray1(4, 2) = 1 / 3
myarray1(4, 3) = 1 / 2
myarray1(4, 4) = 1


For i = 2 To 4
  For j = 2 To 4
    Cells(i, j).Value = myarray1(i, j)
    Next j
Next i

End Sub

¦^´_ 19# temple
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Application.EnableEvents = False  '°±¤îIJµo¨Æ¥ó
  3.     If Not Intersect(Range("b2:e5"), Target.Cells(1)) Is Nothing Then
  4.         '¼Æ­Èªº§ïÅܦb "a1:e3" ªº½d³ò¤¤
  5.         Ex_¤u§@ªí¤Wªº­«ºâ
  6.     End If
  7.     Application.EnableEvents = True    '­n·|¦^´_¯àIJµo¨Æ¥ó
  8.     'Application.EnableEvents = False  '³o¸Ì¿ù»~
  9.    
  10. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¶W¯Åª©¥D±z¦n,¤§«e¥i¯à¬O§Ú¦b¦sÀɮɨBÆJ¤W¦³°ÝÃD, ©Î¬O¦Û¤v²Ê¤ß, ¤µ¤Ñ¤S¸Õ¤F¤@¦¸¦s .xlsm ´N¦³Àx¦s¨ì»yªk, ¥i¬O, ¦b§ó§ï¤¸¯À«á¤´µMµLªk­«ºâ, ¤£¾å±o¬O¤£¬O¨Æ¥ó¨S¦³«Ø¥ßªº½t¦], ½Ð¶W¯Åª©¥D«üÂI new matrix.rar (12.19 KB)

TOP

¶W¯Åª©¥D±z¦n, §Ú¿ï"excel¬¡­¶Ã¯" ©Î"±Ò¥Î¥¨¶°ªº¬¡­¶Ã¯", ³£µLªkÀx¦s»yªk, ¤£ª¾¹D¬°¤°»ò?  ¥u¯àªþ¤W pdfÀɵ¹±z

TOP

¦^´_ 16# temple
Matrix.xlsx  ¨S¦³¥¨¶°ªºExcel ÀÉ
Matrix.xlsm  ¦³¥¨¶°ªºExcel ÀÉ
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¶W¯Åª©¥D±z¦n, §Úµo²{Àɮפ¤ªº»yªk¦n¹³¨S¦³³QÀx¦s°_¨Ó,©Ò¥H¥Îpdf Àɧâ»yªk½Æ»s¤U,¦A½Ð±zÀ°§Ú¬Ý¬Ý,
¦³°ÝÃDªº»yªk.pdf (49.64 KB)

TOP

¶W¯Åª©¥D±z¦n,
§Úªº°ÝÃD¬O: Åܧó¼Æ­È®É, ¨S¦³¿ìªk¶i¦æ­«ºâ, ¤£¾å±o¬O­þ¸Ì¥X¤F°ÝÃD
Matrix.rar (5.57 KB)

TOP

¶W¯Åª©¥D±z¦n,

¦]¬°§ÚªºÅv­­¦³­­, µLªk±Nµ{¦¡Àɮתþ¥[¤W¨Ó, ¤]µLªk¶Çµu®ø®§µ¹±z, §Ú¤´µM¦³¯x°}­pºâ°ÝÃD·Q½Ð±Ð±z, ¤£¾å±oÀ³¸Ó«ç»ò³B²z, ¤è«Kµ¹§Ú±zªº email? ©Î¬O¦³¨ä¥¦¤è¦¡? ³Â·Ð±z

TOP

¶W¯Åª©¥D, ¯uªº¬O¤Ó·PÁ§A¤F!!!

TOP

¦^´_ 11# temple
  1. '**************'¤u§@ªí¤W¼Æ­ÈªºÅÜ°Ê*************************
  2. Option Explicit
  3. Private Sub Worksheet_Change(ByVal Target As Range)
  4.     Application.EnableEvents = False
  5.     If Not Intersect(Range("a1:e3"), Target.Cells(1)) Is Nothing Then
  6.         '¼Æ­Èªº§ïÅܦb "a1:e3" ªº½d³ò¤¤
  7.         Ex_¤u§@ªí¤Wªº­«ºâ
  8.     End If
  9.     Application.EnableEvents = False
  10. End Sub
  11. Sub Ex_¤u§@ªí¤Wªº­«ºâ()
  12.     Dim myarray1(), ar(), i As Integer
  13.     With Range("a1:d3")
  14.         For i = 1 To .Rows.Count
  15.             Rows(i).Cells(1, "E") = Application.Product(.Rows(i))
  16.         Next
  17.     End With
  18. End Sub
  19. '*************'°}¦C¼Æ­È§ïÅÜ *******************************
  20. Option Explicit
  21. Dim Ar_Key As String, myarray1()
  22. Sub Ex()
  23.     Dim i As Integer, S As String
  24.     myarray1() = Range("a1:d3").Value   '°}¦C¼Æ­È
  25.     For i = 1 To UBound(myarray1)
  26.         S = S & Join(Application.Index(myarray1, i), ",") & ","
  27.     Next
  28.     If S <> Ar_Key Then  '¤ñ¹ï°}¦C¼Æ­È
  29.         Ex_­«ºâ
  30.         Ex_°}¦C¬ö¿ý
  31.     End If
  32. End Sub
  33. Sub Ex_­«ºâ()
  34.     Dim myarray1(), ar(), i As Integer
  35.     myarray1() = Range("a1:d3").Value
  36.    
  37.     ReDim ar(1 To UBound(myarray1))
  38.     For i = 1 To UBound(ar)
  39.         ar(i) = Application.Product(Application.Index(myarray1, i))
  40.     Next
  41.     Range("e1:e3") = Application.WorksheetFunction.Transpose(ar)
  42. End Sub
  43. Private Sub Ex_°}¦C¬ö¿ý()  '
  44.     Dim i As Integer
  45.     myarray1() = Range("a1:d3").Value
  46.     Ar_Key = ""
  47.     For i = 1 To UBound(myarray1)
  48.         Ar_Key = Ar_Key & Join(Application.Index(myarray1, i), ",") & ","
  49.         '°}¦C¸ê®Æ¬ö¿ý¤U¨Ó
  50.     Next
  51. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ¤@­Ó¤Hªº§Ö¼Ö¡D¤£¬O¦]¬°¥L¾Ö¦³±o¦h¡A¦Ó¬O¦]¬°¥L­p¸û±o¤Ö¡C
ªð¦^¦Cªí ¤W¤@¥DÃD