<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FExcel%2FWorksheetFunction</id>
		<title>VBA/Excel/Access/Word/Excel/WorksheetFunction - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FExcel%2FWorksheetFunction"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Excel/WorksheetFunction&amp;action=history"/>
		<updated>2026-04-06T23:35:44Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Excel/WorksheetFunction&amp;diff=1630&amp;oldid=prev</id>
		<title> в 16:33, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Excel/WorksheetFunction&amp;diff=1630&amp;oldid=prev"/>
				<updated>2010-05-26T16:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:33, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Excel/WorksheetFunction&amp;diff=1631&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Excel/WorksheetFunction&amp;diff=1631&amp;oldid=prev"/>
				<updated>2010-05-26T12:47:38Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==A function with a range argument==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  =TopAvg(Data,5)&lt;br /&gt;
  Function TopAvg(InRange, N)&lt;br /&gt;
      Dim Sum As Double&lt;br /&gt;
      Dim I As Long&lt;br /&gt;
      Sum = 0&lt;br /&gt;
      For i = 1 To N&lt;br /&gt;
          Sum = Sum + Application.WorksheetFunction.LARGE(InRange, i)&lt;br /&gt;
      Next i&lt;br /&gt;
      TopAvg = Sum / N&lt;br /&gt;
  End Function          &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Calculating a mortgage payment==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub PmtCalc()&lt;br /&gt;
    Dim IntRate As Double&lt;br /&gt;
    Dim LoanAmt As Double&lt;br /&gt;
    Dim Periods As Integer&lt;br /&gt;
    IntRate = 0.0825 / 12&lt;br /&gt;
    Periods = 30 * 12&lt;br /&gt;
    LoanAmt = 150000&lt;br /&gt;
    MsgBox WorksheetFunction.pmt(IntRate, Periods, LoanAmt)&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Finding the maximum value in a range==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub ShowMax()&lt;br /&gt;
    Dim TheMax As Double&lt;br /&gt;
    TheMax = WorksheetFunction.Max(range(&amp;quot;A1:C3&amp;quot;))&lt;br /&gt;
    MsgBox TheMax&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Insert the values directly as the function arguments:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub pmt()&lt;br /&gt;
    MsgBox WorksheetFunction.pmt(0.0825 / 12, 360, -150000)&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Test the effect of the Option Base statement: declare that arrays are 1-based==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Option Base 1&lt;br /&gt;
     Sub Array1()&lt;br /&gt;
         Dim aiData(10) As Integer&lt;br /&gt;
         Dim i As Integer&lt;br /&gt;
         For i = LBound(aiData) To UBound(aiData)&lt;br /&gt;
             aiData(i) = i&lt;br /&gt;
         Next i&lt;br /&gt;
         Debug.Print &amp;quot;Lower Bound = &amp;quot; &amp;amp; LBound(aiData)&lt;br /&gt;
         Debug.Print &amp;quot;Upper Bound = &amp;quot; &amp;amp; UBound(aiData)&lt;br /&gt;
         Debug.Print &amp;quot;Num Elements = &amp;quot; &amp;amp; WorksheetFunction.Count(aiData)&lt;br /&gt;
         Debug.Print &amp;quot;Sum Elements = &amp;quot; &amp;amp; WorksheetFunction.Sum(aiData)&lt;br /&gt;
     End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use case select statement to call common functions==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Function STATFUNCTION(rng, op)&lt;br /&gt;
    Select Case UCase(op)&lt;br /&gt;
        Case &amp;quot;SUM&amp;quot;&lt;br /&gt;
            STATFUNCTION = WorksheetFunction.Sum(rng)&lt;br /&gt;
        Case &amp;quot;AVERAGE&amp;quot;&lt;br /&gt;
            STATFUNCTION = WorksheetFunction.Average(rng)&lt;br /&gt;
        Case &amp;quot;MEDIAN&amp;quot;&lt;br /&gt;
            STATFUNCTION = WorksheetFunction.Median(rng)&lt;br /&gt;
        Case &amp;quot;MODE&amp;quot;&lt;br /&gt;
            STATFUNCTION = WorksheetFunction.Mode(rng)&lt;br /&gt;
        Case &amp;quot;COUNT&amp;quot;&lt;br /&gt;
            STATFUNCTION = WorksheetFunction.Count(rng)&lt;br /&gt;
        Case &amp;quot;MAX&amp;quot;&lt;br /&gt;
            STATFUNCTION = WorksheetFunction.Max(rng)&lt;br /&gt;
        Case &amp;quot;MIN&amp;quot;&lt;br /&gt;
            STATFUNCTION = WorksheetFunction.Min(rng)&lt;br /&gt;
        Case &amp;quot;VAR&amp;quot;&lt;br /&gt;
            STATFUNCTION = WorksheetFunction.Var(rng)&lt;br /&gt;
        Case &amp;quot;STDEV&amp;quot;&lt;br /&gt;
            STATFUNCTION = WorksheetFunction.StDev(rng)&lt;br /&gt;
        Case Else&lt;br /&gt;
            STATFUNCTION = CVErr(xlErrNA)&lt;br /&gt;
    End Select&lt;br /&gt;
End Function&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use fully qualified properties:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub sumDemo()&lt;br /&gt;
     MsgBox WorksheetFunction.Sum(Sheets(&amp;quot;Sheet1&amp;quot;).Range(_&lt;br /&gt;
                                Sheets(&amp;quot;Sheet1&amp;quot;).Range(&amp;quot;A1&amp;quot;), _&lt;br /&gt;
                                Sheets(&amp;quot;Sheet1&amp;quot;).Range(&amp;quot;A10&amp;quot;)))&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use the LARGE function to determine the kth-largest value in a range==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub func()&lt;br /&gt;
    SecondHighest = WorksheetFunction.Large(range(&amp;quot;NumberList&amp;quot;), 2)&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==use the Range property as an argument within another Range property==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub range()&lt;br /&gt;
    WorksheetFunction.Sum (Worksheets(&amp;quot;Sheet2&amp;quot;).range(Worksheets(&amp;quot;Sheet2&amp;quot;). _&lt;br /&gt;
        range(&amp;quot;A1&amp;quot;), Worksheets(&amp;quot;Sheet2&amp;quot;).range(&amp;quot;A7&amp;quot;)))&lt;br /&gt;
    With Worksheets(&amp;quot;Sheet2&amp;quot;)&lt;br /&gt;
        WorksheetFunction.Sum (.range(.range(&amp;quot;A1&amp;quot;), .range(&amp;quot;A7&amp;quot;)))&lt;br /&gt;
    End With&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use the Transpose function to turn the one column into one row==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub TransposeArray()&lt;br /&gt;
    Dim myArray As Variant&lt;br /&gt;
   myArray = WorksheetFunction.Transpose(range(&amp;quot;myTran&amp;quot;))&lt;br /&gt;
   MsgBox &amp;quot;The 5th element of the Array is: &amp;quot; &amp;amp; myArray(5)&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using a lookup function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub GetPrice()&lt;br /&gt;
    Dim PartNum As Variant&lt;br /&gt;
    Dim Price As Double&lt;br /&gt;
    PartNum = InputBox(&amp;quot;Enter the Part Number&amp;quot;)&lt;br /&gt;
    Sheets(&amp;quot;Prices&amp;quot;).activate&lt;br /&gt;
    Price = WorksheetFunction.VLookup(PartNum, range(&amp;quot;PriceList&amp;quot;), 2, False)&lt;br /&gt;
    MsgBox PartNum &amp;amp; &amp;quot; costs &amp;quot; &amp;amp; Price&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>