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

¥[Åv¥­§¡¼ÆVBA

¥[Åv¥­§¡¼ÆVBA

½Ð°Ý¦U¦ì¤j¤j¡A¦p¦ó¼g¥X¥[Åv¥­§¡¼ÆªºVBA

¥Ñ©ó¥[Åv¥­§¡¼Æ´`Àô­pºâ¡A·Q­n¹Á¸Õªº¼g¡A¦ý¬O¦³«Ü¦h»yªk¤£²M·¡¡A¤£·|¥Î¯S§O±M·~¥u·|²³æªº»yªk¨Ï¥Î¡C
·Q¸ß°Ý¥H¤U»yªk¦bVBA­n«ç»ò¥´

­pºâ¤T¦~(365*3µ§¸ê®Æ)ªº©P¤@¨ì©P¤Cºâ¥X¤@­Ó¥[Åv¥­§¡¼Æ
1¡B¦p¦ó§ì¥X©P¤@¨ì©P¤C¼Æ­Èªº¥­§¡¼Æ
2¡B¥­§¡­È¦b´î±¼­ì¥»ªº¼Æºâ¥Xµ´¹ï¶ZÂ÷
3¡B§ì¥X©P¤@¨ì©P¤C³Ì¤j­È»P³Ì¤p­ÈµM«á´î¥h¥­§¡­È
4¡B¦bVBA¨Ï¥Îln¡BExp

¦^´_ 1# 518587


¦U¦ì¤j¤j¡A«ô°UÀ°À°§Ú~~

§Ú¤w¸g¼g¦n¤F!!!
¦ý¬O«Ü©_©Ç

¥i¥H¶]¦ý¬O¤@ª½¥X¿ù¡A¤]¤£ª¾¹D¬O­þ¸Ìªº­ì¦]

¦Ó¥B¦pªG§â¤u§@ªí¸Ì­±ªºD¨ìKÄ檺¸ê®Æ¥þ§R±¼¡A´N§¹¥þ¤£¯à¶]¤F...

¥i§_À°§Ú¬Ý¬Ý¨ì©³¬O­þ¸Ì¥X°ÝÃD¤F©O?!!!!
ªþ¥ó¦³ÀÉ®×
°Ý.rar (62.02 KB)

TOP

¦^´_ 2# 518587


    °ÝÃD

¬°¤°»ò¨C¦¸ÂIªºµª®×³£¤£¤@¼Ë©O?!

TOP

¦^´_ 2# 518587

¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng As Range, First_1 As String
  4.     Range("D:G") = ""
  5.     Set Rng = Range("b:b").Find(1, lookat:=xlWhole) 'BÄ椤´M§ä ¶g¤@.
  6.     First_1 = Rng.Address
  7.     Do
  8.         With Rng(1).Offset(, 1).Resize(7)
  9.             .Cells(1, 2) = Application.WorksheetFunction.Average(.Cells)
  10.             .Cells(1, 3) = "" '¥­§¡­È¦b´î±¼­ì¥»ªº¼Æºâ¥Xµ´¹ï¶ZÂ÷ ¤½¦¡??
  11.             .Cells(1, 4) = (Application.WorksheetFunction.Max(.Cells) + Application.WorksheetFunction.Min(.Cells)) - Application.WorksheetFunction.Average(.Cells)
  12.         End With
  13.         Set Rng = Range("B:B").FindNext(Rng(1)) '´M§ä¤U¤@­Ó¶g¤@
  14.     Loop Until First_1 = Rng(1).Address         '¤U¤@­Ó¶g¤@ªº¦ì¸m=²Ä¤@­Ó¶g¤@ªº¦ì¸m(¦^¨ì²Ä¤@­Ó¶g¤@ªº¦ì¸m)
  15. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 4# GBKEE


  ¹ï¤£°_¡A¤£¤Ó¹ï!¬O§Ú»¡©úªº¤£²M·¡...¤£¦n·N«ä!!

¨º§Ú»¡©ú¾ã­Ó¬yµ{¦n¤F!

­nºâ¥X"¶g¥[Åv¥­§¡¼Æ"(¬P¤@¨ì¬P´Á¤C)

1.¥ý­pºâ©P¤@¨ì©P¤Cªº¥­§¡¼Æ=AvgOld                      (¥X²{¤@­Ó¼Æ)
2.±N­ì¥»¼Æ¶q´î±¼AvgOld=Xik ¥[¤Wµ´¹ï­È                  (¥X²{¤C­Ó¼Æ)
3.§ä¥X¶g¤@¨ì©P¤C³Ì¤j­È´î±¼AvgOld=Dpk                  (¥X²{¤@­Ó¼Æ)
4.§ä¥X¶g¤@¨ì©P¤C³Ì¤p­È´î±¼AvgOld=Dnk (µ´¹ï­È)      (¥X²{¤@­Ó¼Æ)
5.Dnk/Dpk=Ri                      (¥X²{¤@­Ó¼Æ)
6.ck=(-(Dpk^2)/ln(Ri))                      (¥X²{¤@­Ó¼Æ)
7.f=exp(-(Xik^2)/ck)                            (¥X²{¤C­Ó¼Æ)
8.W=f/fªº¥[Á`                      (¥X²{¤C­Ó¼Æ)
9.AvgNew=SUMPRODUCT(W*­ì©l¼Æ¶q)                               (¥X²{¤@­Ó¼Æ)
10.¦pªG AvgOld-AvgNew>0.1 (¥[¤Wµ´¹ï­È)ªº¸Ü ¡A·sªº¥­§¡­È´N¥²¶·¨ú¥Nªº¡AµM«á¦^¨ì²Ä¤G¨B­«½Æ­pºâ¨ì¤p©ó0.1



³o¬O§Ú­n¼gªº»yªk¬yµ{¡A¤£ª¾¹D»¡©ú¥i¥H¶Ü!?
«ô°U§A¤F!!!!!!!

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2014-4-13 19:32 ½s¿è

¦^´_ 5# 518587
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng(1 To 2) As Range, i As Integer
  4.     Dim f(1 To 7), Xik(1 To 7)
  5.     Dim ii As Integer
  6.     On Error Resume Next   'µ{¦¡½X¦³¿ù»~®É Ä~Äò¤U¤@¦æµ{¦¡½X(¤£²z·|)
  7.     With ActiveSheet       '«ü©w¤u§@ªí
  8.         .Range("D:k") = ""
  9.         .Range("b:b").Cells.Replace 1, "=aaa", lookat:=xlWhole        '½d³ò¤¤ªºÀx¦s®æ­È = 1, ­×§ï¬°¤£¦s¦bªº¤½¦¡,³y¦¨¿ù»~­È
  10.         Set Rng(1) = .Range("b:b").SpecialCells(xlCellTypeFormulas, xlErrors)  '³]©wÅܼƬ°³o½d³ò¤¤¦³¿ù»~­Èªº¯S®íÀx¦s®æ
  11.         Rng(1).Value = 1    '¯S®íÀx¦s®æªº­È«ì´_ = 1
  12.     End With
  13.     With Rng(1)
  14.         For i = 1 To .Areas.Count        'Areas ÄÝ©Ê ¶Ç¦^ Areas ¶°¦X¡A¦¹¶°¦X¥Nªí¦h­«½d³ò¤¤ªº©Ò¦³½d³ò
  15.             With .Areas(i).Cells(1, 2).Resize(7)      '¤@¶g¦¸¼Æ¶q½d³ò
  16.                 '.Cells(1,2) 'DÄæ ** 1.¥ý­pºâ©P¤@¨ì©P¤Cªº¥­§¡¼Æ = AvgOld
  17.                 .Cells(1, 2) = Application.Average(.Cells)
  18.                 'AvgOld
  19. A:
  20.                 '.Cells(1,3) 'EÄæ ** 2.±N ­ì¥»¼Æ¶q ´î±¼AvgOld=Xik ¥[¤Wµ´¹ï­È(¥X²{¤C­Ó¼Æ)
  21.                 For ii = 1 To 7   '.Cells(ii, 1) CÄæ: ­ì¥»¼Æ¶q
  22.                     '.Cells(1,7) 'IÄæ ** 6.ck=(-(Dpk^2)/ln(Ri))       (¥X²{¤@­Ó¼Æ)
  23.                     .Cells(ii, 3) = Abs(.Cells(ii, 1) - .Cells(1, 2))
  24.                     'Xik
  25.                     Xik(ii) = .Cells(ii, 3)   '
  26.                 Next
  27.         
  28.                 '.Cells(1,4) 'FÄæ ** 3.§ä¥X¶g¤@¨ì©P¤C³Ì¤j­È´î±¼AvgOld=Dpk   (¥X²{¤@­Ó¼Æ)
  29.                 .Cells(1, 4) = Application.Max(.Cells) - .Cells(1, 2)
  30.                 'Dpk
  31.                
  32.                 '.Cells(1,5) 'GÄæ ** 4.§ä¥X¶g¤@¨ì©P¤C³Ì¤p­È´î±¼AvgOld=Dnk (µ´¹ï­È)  (¥X²{¤@­Ó¼Æ)
  33.                 .Cells(1, 5) = Abs(Application.Min(.Cells) - .Cells(1, 2))
  34.                 'Dnk
  35.                
  36.                 '.Cells(1,6) 'HÄæ ** 5.Dnk/Dpk=Ri   (¥X²{¤@­Ó¼Æ)
  37.                 .Cells(1, 6) = .Cells(1, 5) / .Cells(1, 4)
  38.                 'Ri
  39.             
  40.                 '*** ¨ì A578 ®É H578 = 1 Ln(.Cells(1, 6))=0
  41.                 '*** ¤À¥À=0 ¤£¥i°£ ªº¿ù»~  ***************
  42.                 '*** ±µ¤Uªº¼Æ¦r·|¦³¿ù»~    ***************
  43.                 '.Cells(1,7) 'IÄæ ** 6.ck=(-(Dpk^2)/ln(Ri))       (¥X²{¤@­Ó¼Æ)
  44.                 .Cells(1, 7) = -(.Cells(1, 4) ^ 2) / Application.Ln(.Cells(1, 6))
  45.                 'ck
  46.                
  47.                 '.Cells(1,8) 'JÄæ ** 7.f=exp(-(Xik^2)/ck)          (¥X²{¤C­Ó¼Æ)
  48.                 For ii = 1 To 7
  49.                     .Cells(ii, 8) = Application.Evaluate("Exp(" & -(Xik(ii) ^ 2) / .Cells(1, 7) & ")")
  50.                     'f
  51.                     'VBA ¤£¤ä´© ¤u§@ªí¨ç¼Æ Exp
  52.                     'Evaluate ¤èªk ±N Microsoft Excel ¦WºÙÂà´«¦¨ª«¥ó©ÎªÌ­È¡C
  53.                     f(ii) = .Cells(ii, 8)
  54.                 Next
  55.         
  56.                 '.Cells(1,9) KÄæ ** 8.W=f/fªº¥[Á`         (¥X²{¤C­Ó¼Æ)
  57.                 For ii = 1 To 7
  58.                     .Cells(ii, 9) = f(ii) / Application.Sum(f)
  59.                     'W
  60.                 Next
  61.                 '.Cells(1,10) LÄæ ** 9.AvgNew=SUMPRODUCT(W*­ì©l¼Æ¶q)    (¥X²{¤@­Ó¼Æ)
  62.                 Set Rng(2) = .Cells(1, 9).Resize(7)     'W ªº½d³ò
  63.                 .Cells(1, 10) = Application.SumProduct(Rng(2), .Cells)     'AvgNew
  64.                 '10.¦pªG AvgOld-AvgNew>0.1 (¥[¤Wµ´¹ï­È)ªº¸Ü ¡A·sªº¥­§¡­È´N¥²¶·¨ú¥Nªº¡AµM«á¦^¨ì²Ä¤G¨B­«½Æ­pºâ¨ì¤p©ó0.1
  65.                 'If Abs(.Cells(1, 2) - .Cells(1, 9)) > 0.1 Then GoTo A:  '¦^¨ì²Ä2¨BÆJ
  66.                 '*********?????????????????????
  67.                 'µM«á¦^¨ì²Ä¤G¨B­«½Æ­pºâ¨ì¤p©ó0.1
  68.                 '¦p¦ó­pºâ¨ì¤p©ó0.1??
  69.                 '*******************************
  70.             End With
  71.         Next
  72.     End With
  73. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 6# GBKEE


¥H·sºâ¥X¨Óªº¥[Åv¥­§¡¨ú¥N­ì¥»ªº¥[Åv¥­§¡¼Æ
µM«á¦AÄ~Äòºâ·sªº¥[Åv¼Æ»P¼Æ¾ªº¶ZÂ÷...µ¥Ä~Äòºâ¤U¥h¡A³Ì«á¤S·|¦³¤@­Ó¥[Åv¥­§¡¼Æºâ¥X¨Ó¡A
µM«á¦b»P¤W¦¸ªº¥[Åv¼Æ¤ñ¸û¡A»~®t<0.1´N°±¤î¡A¦pªG>0.1´N¦b­«½Æ°µ

¬O³o¼Ëªº·N«ä!!!!

TOP

¦^´_ 6# GBKEE


  §Ú³Ì«á§ï¦¨³o¼Ë¡A¦ý¬O¬°¤°»ò¨S¦³©¹¦^¶]¦A­«·s­pºâ©O?!¬O­þ¸Ì¦³¿ù¶Ü?!
½Ðª©¤j³Â·Ð§AÀ°§Ú¬Ý¬Ý~~~~~!!!!

³o¬O´N¬O¤W¤@­Ó¦^´_ªº·N«ä¡C

       If Abs(.Cells(1, 2) - .Cells(1, 10)) > 0.1 Then
            Cells(1, 11) = Abs(.Cells(1, 2) - .Cells(1, 10))
            Cells(1, 2) = Avg
             GoTo A
        End If


°ÝDÄ椣¾AÀ³¸Ó¬OCells(X,4)¶Ü?!«ç»ò¬OCells(X,2)©O?!

TOP

¦^´_ 6# GBKEE


¤£¦n·N«ä¡A¤S¥X²{¤F¤@¨Ç°ÝÃD
½Ð°Ý¤@¤U
§Ú±NVBAµ{¦¡½X¶K¨ì¨ä¥Lªº¦a¤èµLªk°õ¦æ¡A
«ç»ò¼Ë¤~¥i¥HÅý¨C­Ó¤u§@ªí³£¥i¥H°õ¦æ³o¬qµ{¦¡½X?!

TOP

¦^´_ 9# 518587

¨S¦³¥[ .
  1. If Abs(.Cells(1, 2) - .Cells(1, 10)) > 0.1 Then
  2.     .Cells(1, 11) = Abs(.Cells(1, 2) - .Cells(1, 10))
  3.     .Cells(1, 2) = Avg
  4.     GoTo A
  5. End If
½Æ»s¥N½X
°ÝDÄ椣¾AÀ³¸Ó¬OCells(X,4)¶Ü?!«ç»ò¬OCells(X,2)©O?!
  1. Set Rng(1) = .Range("b:b").SpecialCells(xlCellTypeFormulas, xlErrors)
  2.     With Rng(1) -> Range("b:b")¬° BÄæ
  3.         For i = 1 To .Areas.Count-> For i = 1 To Rng(1).Areas.Count
  4.            With .Areas(i).Cells(1, 2).Resize(7)   ->With Rng(1).Areas(i).Cells(1, 2).Resize(7)
  5.           ' ©Ò¥H    .Cells(X,1)  -> C Äæ
  6.         '©Ò¥H    .Cells(X,2)  -> D Äæ
½Æ»s¥N½X
«ç»ò¼Ë¤~¥i¥HÅý¨C­Ó¤u§@ªí³£¥i¥H°õ¦æ³o¬qµ{¦¡½X?!
  1.     Sub Ex()
  2.        With ActiveSheet   '(§@¥Î¤¤ªº¤u§@ªí)
  3.        '³o¸Ì¦³«ü©w¤u§@ªí¬°§@¥Î¤¤ªº¤u§@ªí,¨C±i¤u§@ªí¥i¥H¨Ï¥Îªº
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ºw¤ô¦¨ªe¡C²É¦Ì¦¨ÅÚ¡A¤Å»´¤vÆF¡A¤Å¥Hµ½¤p¦Ó¤£¬°¡C
ªð¦^¦Cªí ¤W¤@¥DÃD