<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://henryk-dabrowski.pl/index.php?action=history&amp;feed=atom&amp;title=Funkcje_zakresu_kom%C3%B3rek</id>
	<title>Funkcje zakresu komórek - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://henryk-dabrowski.pl/index.php?action=history&amp;feed=atom&amp;title=Funkcje_zakresu_kom%C3%B3rek"/>
	<link rel="alternate" type="text/html" href="https://henryk-dabrowski.pl/index.php?title=Funkcje_zakresu_kom%C3%B3rek&amp;action=history"/>
	<updated>2026-04-24T17:34:06Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://henryk-dabrowski.pl/index.php?title=Funkcje_zakresu_kom%C3%B3rek&amp;diff=756&amp;oldid=prev</id>
		<title>HenrykDabrowski o 14:26, 24 maj 2024</title>
		<link rel="alternate" type="text/html" href="https://henryk-dabrowski.pl/index.php?title=Funkcje_zakresu_kom%C3%B3rek&amp;diff=756&amp;oldid=prev"/>
		<updated>2024-05-24T14:26:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← poprzednia wersja&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Wersja z 16:26, 24 maj 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l195&quot;&gt;Linia 195:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 195:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[LibreOffice Calc – makra | &amp;lt;b&amp;gt;LibreOffice Calc – makra&amp;lt;/b&amp;gt;]]&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;[[Henryk Dąbrowski | &amp;lt;b&amp;gt;Strona główna&amp;lt;/b&amp;gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[LibreOffice Calc – makra &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;– przykłady &lt;/ins&gt;| &amp;lt;b&amp;gt;LibreOffice Calc – makra &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;– przykłady&lt;/ins&gt;&amp;lt;/b&amp;gt;]]&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;[[Henryk Dąbrowski | &amp;lt;b&amp;gt;Strona główna&amp;lt;/b&amp;gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>HenrykDabrowski</name></author>
	</entry>
	<entry>
		<id>https://henryk-dabrowski.pl/index.php?title=Funkcje_zakresu_kom%C3%B3rek&amp;diff=241&amp;oldid=prev</id>
		<title>HenrykDabrowski: 1 wersja</title>
		<link rel="alternate" type="text/html" href="https://henryk-dabrowski.pl/index.php?title=Funkcje_zakresu_kom%C3%B3rek&amp;diff=241&amp;oldid=prev"/>
		<updated>2022-09-18T20:36:51Z</updated>

		<summary type="html">&lt;p&gt;1 wersja&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pl&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← poprzednia wersja&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Wersja z 22:36, 18 wrz 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;pl&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Brak różnic)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>HenrykDabrowski</name></author>
	</entry>
	<entry>
		<id>https://henryk-dabrowski.pl/index.php?title=Funkcje_zakresu_kom%C3%B3rek&amp;diff=240&amp;oldid=prev</id>
		<title>HenrykDabrowski o 11:44, 27 paź 2020</title>
		<link rel="alternate" type="text/html" href="https://henryk-dabrowski.pl/index.php?title=Funkcje_zakresu_kom%C3%B3rek&amp;diff=240&amp;oldid=prev"/>
		<updated>2020-10-27T11:44:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;div style=&amp;quot;text-align:right; font-size: 130%; font-style: italic; font-weight: bold;&amp;quot;&amp;gt;22.10.2020&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Znajdowanie używanego zakresu komórek arkusza ==&lt;br /&gt;
&lt;br /&gt;
Używany obszar arkusza to najmniejszy zakres komórek, który zawiera wszystkie komórki arkusza kalkulacyjnego z dowolną zawartością (liczby, tekst, formuły) lub z widocznym formatowaniem (obramowanie i kolor tła). Prawą dolną komórkę używanego obszaru możemy łatwo odnaleźć, wybierając z klawiatury Ctrl + End.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursor komórek to po prostu zakres komórek, który udostępnia metody przemieszczania się po arkuszu ([https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1table_1_1CellCursor.html LINK]). Oczywiście tak wykonywane „przemieszczenia” są niewidoczne – aktywne ustawienie nie ulega zmianie.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Omówimy działanie metod kursora komórek oCllCursor występującego w zamieszczonej niżej funkcji UsedArea() ([https://www.openoffice.org/api/docs/common/ref/com/sun/star/sheet/XUsedAreaCursor.html LINK]):&lt;br /&gt;
:*gotoStartOfUsedArea( False ) – redukuje rozmiar kursora komórek do pojedynczej komórki będącej początkiem używanego obszaru&lt;br /&gt;
:*gotoStartOfUsedArea( True ) – zmienia rozmiar kursora komórek tak, aby jego początek pokrywał się z początkiem używanego obszaru&lt;br /&gt;
:*gotoEndOfUsedArea( False ) – redukuje rozmiar kursora komórek do pojedynczej komórki będącej końcem używanego obszaru&lt;br /&gt;
:*gotoEndOfUsedArea( True ) – zmienia rozmiar kursora komórek tak, aby jego koniec pokrywał się z końcem używanego obszaru&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Function &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;UsedArea(sFrame &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;String&amp;lt;/span&amp;gt;) &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Long&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;w zależności od parametru funkcja zwraca indeks:&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;(&amp;amp;quot;L&amp;amp;quot;) lewej kolumny, (&amp;amp;quot;U&amp;amp;quot;) górnego wiersza, (&amp;amp;quot;R&amp;amp;quot;) prawej kolumny, (&amp;amp;quot;B&amp;amp;quot;) dolnego wiersza,&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;które wyznaczają granice używanego obszaru arkusza&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; oSht &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;, oCllCursor &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; ThisComponent.getCurrentController().ActiveSheet&lt;br /&gt;
     oCllCursor &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; oSht.createCursor() &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;tworzy kursor komórek obejmujący cały arkusz&amp;lt;/span&amp;gt;&lt;br /&gt;
     UsedArea &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; -&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;1&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;ta wartość zostanie zwrócona w przypadku błędnego parametru&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;If &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;sFrame &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;L&amp;amp;quot;&amp;lt;/span&amp;gt; &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#000000;&amp;#039;&amp;gt;OR&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; sFrame &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;U&amp;amp;quot;&amp;lt;/span&amp;gt; &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Then&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
         oCllCursor.gotoStartOfUsedArea( False ) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;redukuje rozmiar kursora komórek do jednej komórki&amp;lt;/span&amp;gt;&lt;br /&gt;
         &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;If &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;sFrame &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;L&amp;amp;quot;&amp;lt;/span&amp;gt; &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Then&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
             UsedArea &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; oCllCursor.getRangeAddress().StartColumn &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;indeks lewej kolumny&amp;lt;/span&amp;gt;&lt;br /&gt;
         &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Else&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;sFrame &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;amp;quot;U&amp;amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
             UsedArea &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; oCllCursor.getRangeAddress().StartRow &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;indeks górnego wiersza&amp;lt;/span&amp;gt;&lt;br /&gt;
         &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;End If&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;End If&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;If &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;sFrame &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;R&amp;amp;quot;&amp;lt;/span&amp;gt; &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#000000;&amp;#039;&amp;gt;OR&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; sFrame &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;B&amp;amp;quot;&amp;lt;/span&amp;gt; &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Then&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
         oCllCursor.gotoEndOfUsedArea( False ) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;redukuje rozmiar kursora komórek do jednej komórki&amp;lt;/span&amp;gt;&lt;br /&gt;
         &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;If &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;sFrame &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;R&amp;amp;quot;&amp;lt;/span&amp;gt; &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Then&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
             UsedArea &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; oCllCursor.getRangeAddress().EndColumn &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;indeks prawej kolumny&amp;lt;/span&amp;gt;&lt;br /&gt;
         &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Else&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;sFrame &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;amp;quot;B&amp;amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
             UsedArea &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; oCllCursor.getRangeAddress().EndRow &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;indeks dolnego wiersza&amp;lt;/span&amp;gt;&lt;br /&gt;
         &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;End If&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;End If&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;End Function&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Sub &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;Zakresy1()&lt;br /&gt;
     MsgBox &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;Indeksy kolumn i wierszy ograniczających używany obszar:&amp;amp;quot;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;Chr&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;10&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; _&lt;br /&gt;
            &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;Lewa kolumna – &amp;amp;quot;&amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; UsedArea(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;L&amp;amp;quot;&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;Chr&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;10&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; _&lt;br /&gt;
            &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;Górny wiersz – &amp;amp;quot;&amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; UsedArea(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;U&amp;amp;quot;&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;Chr&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;10&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; _&lt;br /&gt;
            &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;Prawa kolumna – &amp;amp;quot;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; UsedArea(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;R&amp;amp;quot;&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;Chr&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;10&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; _&lt;br /&gt;
            &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;Dolny wiersz – &amp;amp;quot;&amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; UsedArea(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;B&amp;amp;quot;&amp;lt;/span&amp;gt;)&lt;br /&gt;
 &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;End Sub&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Sub &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;Zakresy2()&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; oSht &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;, oCllCursor &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; ThisComponent.getCurrentController().ActiveSheet&lt;br /&gt;
     oCllCursor &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; oSht.createCursor() &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;tworzy kursor komórek obejmujący cały arkusz&amp;lt;/span&amp;gt;&lt;br /&gt;
     oCllCursor.gotoStartOfUsedArea( True ) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;zmienia rozmiar kursora komórek tak, aby jego początek pokrywał się z początkiem używanego obszaru&amp;lt;/span&amp;gt;&lt;br /&gt;
     MsgBox &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;Indeksy kolumn i wierszy ograniczających używany obszar:&amp;amp;quot;&amp;lt;/span&amp;gt;    &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;Chr&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;10&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; _&lt;br /&gt;
            &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;Lewa kolumna – &amp;amp;quot;&amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; oCllCursor.getRangeAddress().StartColumn &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;Chr&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;10&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; _&lt;br /&gt;
            &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;Górny wiersz – &amp;amp;quot;&amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; oCllCursor.getRangeAddress().StartRow    &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;Chr&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;10&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; _&lt;br /&gt;
            &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;Prawa kolumna – &amp;amp;quot;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; oCllCursor.getRangeAddress().EndColumn   &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;Chr&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;10&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; _&lt;br /&gt;
            &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;Dolny wiersz – &amp;amp;quot;&amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; oCllCursor.getRangeAddress().EndRow&lt;br /&gt;
 &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;End Sub&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Sub &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;Zakresy3()&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; oSht &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;, oCllCursor &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; ThisComponent.getCurrentController().ActiveSheet&lt;br /&gt;
     oCllCursor &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; oSht.createCursor() &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;tworzy kursor komórek obejmujący cały arkusz&amp;lt;/span&amp;gt;&lt;br /&gt;
     oCllCursor.gotoEndOfUsedArea( True ) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;zmienia rozmiar kursora komórek tak, aby jego koniec pokrywał się z końcem używanego obszaru&amp;lt;/span&amp;gt;&lt;br /&gt;
     MsgBox &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;Indeksy kolumn i wierszy ograniczających używany obszar:&amp;amp;quot;&amp;lt;/span&amp;gt;    &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;Chr&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;10&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; _&lt;br /&gt;
            &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;Lewa kolumna – &amp;amp;quot;&amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; oCllCursor.getRangeAddress().StartColumn &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;Chr&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;10&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; _&lt;br /&gt;
            &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;Górny wiersz – &amp;amp;quot;&amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; oCllCursor.getRangeAddress().StartRow    &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;Chr&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;10&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; _&lt;br /&gt;
            &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;Prawa kolumna – &amp;amp;quot;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; oCllCursor.getRangeAddress().EndColumn   &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;Chr&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;10&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; _&lt;br /&gt;
            &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;Dolny wiersz – &amp;amp;quot;&amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; oCllCursor.getRangeAddress().EndRow&lt;br /&gt;
 &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;End Sub&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Sub &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;Zakresy4()&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; oSht &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;, oCllCursor &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; ThisComponent.getCurrentController().ActiveSheet&lt;br /&gt;
     oCllCursor &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; oSht.createCursor() &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;tworzy kursor komórek obejmujący cały arkusz&amp;lt;/span&amp;gt;&lt;br /&gt;
     oCllCursor.gotoStartOfUsedArea( False ) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;redukuje rozmiar kursora komórek do jednej komórki&amp;lt;/span&amp;gt;&lt;br /&gt;
     oCllCursor.gotoEndOfUsedArea( True ) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;rozszerza rozmiar kursora komórek na cały używany obszar&amp;lt;/span&amp;gt;&lt;br /&gt;
     MsgBox &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;Używany obszar: &amp;amp;quot;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;&amp;amp;amp;&amp;lt;/span&amp;gt; oCllCursor.AbsoluteName&lt;br /&gt;
 &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;End Sub&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sumowanie danych zapisanych w zakresie komórek ==&lt;br /&gt;
&lt;br /&gt;
Przedstawiamy dwie funkcje sumujące dane wpisane do komórek w wybranym zakresie komórek. Pierwsza funkcja wykorzystuje funkcję arkusza SUM(), druga funkcja jawnie sumuje każdą wartość (Value) wpisaną do komórki. Czytelnik łatwo sprawdzi, że obie funkcje zwracają identyczne wyniki.&lt;br /&gt;
&lt;br /&gt;
UWAGA1:&amp;lt;br/&amp;gt;&lt;br /&gt;
:*należy upewnić się, że w sumowanym zakresie są właściwe komórki, bo funkcja SUM() pomija komórki zawierające tekst, ale &amp;#039;&amp;#039;&amp;#039;nie pomija&amp;#039;&amp;#039;&amp;#039; komórek zawierających daty i wartości logiczne&lt;br /&gt;
&lt;br /&gt;
UWAGA2:&amp;lt;br/&amp;gt;&lt;br /&gt;
:*z poziomu arkusza wpis PRAWDA jest interpretowany jako wartość liczbowa 1 i taką też otrzymamy sumę; z poziomu makra wpis True jest interpretowany jako -1 i odpowiednia suma wynosi -1 – zobacz przykładową procedurę Zakresy5(). Nie potrafię wyjaśnić tej różnicy (wersja LibreOffice: 7.0.2.2).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Function &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;mySUM(oRng &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;) &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Double&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;dla zadanego zakresu komórek sumuje wartości wpisane do tych komórek&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; oFuncAcc &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;&lt;br /&gt;
     oFuncAcc &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;CreateUnoService&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;com.sun.star.sheet.FunctionAccess&amp;amp;quot;&amp;lt;/span&amp;gt;)&lt;br /&gt;
     mySUM &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; oFuncAcc.callFunction( &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;SUM&amp;amp;quot;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;Array&amp;lt;/span&amp;gt;(oRng) )&lt;br /&gt;
 &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;End Function&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Function &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;SumRange(oRng &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;) &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Double&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;dla zadanego zakresu komórek sumuje wartości (Value) wpisane do tych komórek&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; row &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Long&amp;lt;/span&amp;gt;, col &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Long&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; suma &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Double&amp;lt;/span&amp;gt;&lt;br /&gt;
     suma &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;For &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;row &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt; &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;To&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; oRng.getRows().getCount() - &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;1&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;odczytujemy liczbę wierszy zakresu oRng&amp;lt;/span&amp;gt;&lt;br /&gt;
         &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;For &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;col &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt; &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;To&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; oRng.getColumns().getCount() - &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;1&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;odczytujemy liczbę kolumn zakresu oRng&amp;lt;/span&amp;gt;&lt;br /&gt;
             suma &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; suma + oRng.getCellByPosition(col, row).Value&lt;br /&gt;
         &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Next &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;col&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Next &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;row&lt;br /&gt;
     SumRange &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; suma&lt;br /&gt;
 &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;End Function&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Sub &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;Zakresy5()&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; oSht &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;, oRng &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; ThisComponent.getSheets().getByIndex(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;uchwyt do pierwszego arkusza&amp;lt;/span&amp;gt;&lt;br /&gt;
     ThisComponent.CurrentController.setActiveSheet(oSht) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;aktywacja pierwszego arkusza&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht.getColumns().insertByIndex(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;1&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;dodajemy jedną kolumnę na pozycję pierwszą&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht.getCellRangebyName(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;A1&amp;amp;quot;&amp;lt;/span&amp;gt;).Value &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; True &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039; -1&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht.getCellRangebyName(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;A2&amp;amp;quot;&amp;lt;/span&amp;gt;).Value &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; False &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039; 0&amp;lt;/span&amp;gt;&lt;br /&gt;
     oRng &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; oSht.getCellRangeByName(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;A1:A2&amp;amp;quot;&amp;lt;/span&amp;gt;)&lt;br /&gt;
     oSht.getCellRangebyName(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;A3&amp;amp;quot;&amp;lt;/span&amp;gt;).Value &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; mySUM(oRng)&lt;br /&gt;
     oSht.getCellRangebyName(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;A4&amp;amp;quot;&amp;lt;/span&amp;gt;).Value &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; SumRange(oRng)&lt;br /&gt;
 &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;End Sub&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Na zakończenie tej sekcji zauważmy, że zamiast operować na komórkach zadanego zakresu komórek (tak jak to czynimy w funkcji SumRange()) możemy operować na komórkach arkusza. Tak skonstruowana procedura jest mniej elegancka, ale równie skuteczna:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Function &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;SumRange2(oRng &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;) &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Double&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;sumuje wartości (Value) z podanego zakresu komórek&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; row &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Long&amp;lt;/span&amp;gt;, col &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Long&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; suma &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Double&amp;lt;/span&amp;gt;&lt;br /&gt;
     suma &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;For &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;row &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; oRng.getRangeAddress().StartRow &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;To&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; oRng.getRangeAddress().EndRow &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;indeksy wierszy arkusza(!)&amp;lt;/span&amp;gt;&lt;br /&gt;
         &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;For &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;col &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; oRng.getRangeAddress().StartColumn &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;To&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; oRng.getRangeAddress().EndColumn &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;indeksy kolumn arkusza(!)&amp;lt;/span&amp;gt;&lt;br /&gt;
             suma &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; suma + oRng.Spreadsheet.getCellByPosition(col, row).Value &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;odwołujemy się do komórek arkusza(!)&amp;lt;/span&amp;gt;&lt;br /&gt;
         &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Next &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;col&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Next &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;row&lt;br /&gt;
     SumRange2 &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; suma&lt;br /&gt;
 &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;End Function&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sumowanie danych liczbowych&amp;lt;ref name=&amp;quot;p1&amp;quot;/&amp;gt; możemy zrealizować wykorzystując metodę &amp;#039;&amp;#039;&amp;#039;getData()&amp;#039;&amp;#039;&amp;#039;. Podamy przykład takiej funkcji, która może być szczególnie przydatna w przypadku, gdy zakres komórek ma ogromne rozmiary:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Function &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;SumRange3(oRng &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;) &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Double&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;sumuje wartości (Value) z podanego zakresu komórek&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; oVec &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; A()&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; m &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Long&amp;lt;/span&amp;gt;, n &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Long&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; suma &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Double&amp;lt;/span&amp;gt;&lt;br /&gt;
     suma &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
     oVec &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; oRng.getData() &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;pobrane zostaną jedynie dane liczbowe!&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;For &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;m &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;LBound&amp;lt;/span&amp;gt;(oVec) &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;To&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;UBound&amp;lt;/span&amp;gt;(oVec) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;przeglądamy tablicę tablic oVec&amp;lt;/span&amp;gt;&lt;br /&gt;
         A &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; oVec(m) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;wybrana tablica z tablicy tablic&amp;lt;/span&amp;gt;&lt;br /&gt;
         &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;For &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;n &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;LBound&amp;lt;/span&amp;gt;(A) &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;To&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;UBound&amp;lt;/span&amp;gt;(A)&lt;br /&gt;
             suma &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; suma + A(n)&lt;br /&gt;
         &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Next &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;n&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Next &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;m&lt;br /&gt;
     SumRange3 &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; suma&lt;br /&gt;
 &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;End Function&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do testowania omówionych wyżej funkcji Czytelnik może wykorzystać procedurę:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Sub &amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;Zakresy6()&lt;br /&gt;
     &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; oSht &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;, oRng &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;Object&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; ThisComponent.getSheets.getByIndex(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;uchwyt do pierwszego arkusza&amp;lt;/span&amp;gt;&lt;br /&gt;
     ThisComponent.CurrentController.setActiveSheet(oSht) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;aktywacja pierwszego arkusza&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht.getColumns().insertByIndex(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;1&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;dodajemy jedną kolumnę na pozycję pierwszą&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht.getCellByPosition(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;).Value &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;1&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht.getCellByPosition(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;1&amp;lt;/span&amp;gt;).Value &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; True &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;-1&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht.getCellByPosition(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;2&amp;lt;/span&amp;gt;).Value &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;DateSerial&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;2000&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;1&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;1&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;36526&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht.getCellByPosition(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;3&amp;lt;/span&amp;gt;).&amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;String&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;&amp;amp;quot;123&amp;amp;quot;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;0&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht.getCellByPosition(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;4&amp;lt;/span&amp;gt;).Value &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#039;color:#0095ff;&amp;#039;&amp;gt;Sqr&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;2&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;1,4142...&amp;lt;/span&amp;gt;&lt;br /&gt;
     oRng &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; oSht.getCellRangeByPosition(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;4&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;zakres A1:A5&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht.getCellByPosition(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;6&amp;lt;/span&amp;gt;).Value &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; mySUM(oRng) &amp;lt;span style=&amp;#039;color:#707070;&amp;#039;&amp;gt;&amp;#039;znajdujemy sumę wartości liczbowych z zakresu A1:A5&amp;lt;/span&amp;gt;&lt;br /&gt;
     oSht.getCellByPosition(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;7&amp;lt;/span&amp;gt;).Value &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; SumRange(oRng)&lt;br /&gt;
     oSht.getCellByPosition(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;8&amp;lt;/span&amp;gt;).Value &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; SumRange2(oRng)&lt;br /&gt;
     oSht.getCellByPosition(&amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;0&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#039;color:#ff0000;&amp;#039;&amp;gt;9&amp;lt;/span&amp;gt;).Value &amp;lt;span style=&amp;#039;color:#000080;&amp;#039;&amp;gt;=&amp;lt;/span&amp;gt; SumRange3(oRng)&lt;br /&gt;
 &amp;lt;b&amp;gt;&amp;lt;span style=&amp;#039;color:#1f1c1b;&amp;#039;&amp;gt;End Sub&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[LibreOffice Calc – makra | &amp;lt;b&amp;gt;LibreOffice Calc – makra&amp;lt;/b&amp;gt;]]&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;[[Henryk Dąbrowski | &amp;lt;b&amp;gt;Strona główna&amp;lt;/b&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Przypisy ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;p1&amp;quot;&amp;gt;Czytelnik powinien pamiętać, że sumowane będą również dane typu data i wartości logiczne!&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>HenrykDabrowski</name></author>
	</entry>
</feed>