<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS. Сортировка содержимого ячеек в Excel]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7026&amp;type=atom" />
	<updated>2012-04-03T11:05:25Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7026</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS. Сортировка содержимого ячеек в Excel]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58770#p58770" />
			<content type="html"><![CDATA[<p>Спасибо за информацию</p>]]></content>
			<author>
				<name><![CDATA[KlimTV]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27683</uri>
			</author>
			<updated>2012-04-03T11:05:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58770#p58770</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS. Сортировка содержимого ячеек в Excel]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58763#p58763" />
			<content type="html"><![CDATA[<p>Или в самом экселе есть встроенный visual basic в нем есть объктный браузер</p>]]></content>
			<author>
				<name><![CDATA[Vasek]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27769</uri>
			</author>
			<updated>2012-04-03T03:23:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58763#p58763</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS. Сортировка содержимого ячеек в Excel]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58731#p58731" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>А можно где-нибудь на русском(в крайнем случае на английском) почитать описание этого метода?</p></blockquote></div><p>Запрос вида: <a href="http://www.google.ru/search?q=Excel+Range+Sort+site%3Amicrosoft.com">Excel Range Sort site:microsoft.com - Поиск в Google</a>, оттуда приходим к статье в MSDN: <a href="http://msdn.microsoft.com/en-us/library/ff840646.aspx">Range.Sort Method (Excel)</a>.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-04-02T05:27:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58731#p58731</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS. Сортировка содержимого ячеек в Excel]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58728#p58728" />
			<content type="html"><![CDATA[<p>Спасибо, работает. </p><div class="quotebox"><cite>Vasek пишет:</cite><blockquote><p>Вы можете детальнее описать какая сортировка вам нужна?</p></blockquote></div><p>Нужна простая сортировка в алфавитном порядке. Сортируется значение только одной колонки (колонка &quot;B&quot; - инвентарные номера документов), в других колонках записана атрибутная часть данных документов, от ячеек этих колонок нужно только перемещение вместе с номером своего документа </p><div class="quotebox"><cite>Vasek пишет:</cite><blockquote><div class="codebox"><pre><code>
objRange.Sort objRange2,,,,,,,2,,,1,1&#039; сам метод</code></pre></div></blockquote></div><p>А можно где-нибудь на русском(в крайнем случае на английском) почитать описание этого метода? Хотелось бы для общего развития узнать о нем более подробно. Не поделитесь ссылочкой?</p>]]></content>
			<author>
				<name><![CDATA[KlimTV]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27683</uri>
			</author>
			<updated>2012-04-02T05:15:50Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58728#p58728</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS. Сортировка содержимого ячеек в Excel]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58653#p58653" />
			<content type="html"><![CDATA[<p>Пример проверялся в Excel 2007, работате с двумя колонками, на вход берутся данные из двух лежащих со сценарием файлов.<br /></p><div class="codebox"><pre><code>
&#039; Нужен для полноты примера
Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
&#039; Нужен для полноты примера
Set InFile = FSO.OpenTextFile(&quot;test.txt&quot;)
&#039; Нужен для полноты примера
Set InFile1 = FSO.OpenTextFile(&quot;test1.txt&quot;)
&#039; Объект приложения
Set xEl = CreateObject(&quot;Excel.Application&quot;)
&#039; Это свойство чтобы увидеть объект
xEl.Visible = True
&#039; Создается книга
xEl.Workbooks.Add

&#039; Выполнять до конца файла
Do Until InFile.AtEndOfStream
	&#039; Пишем строку первого файла
	xEl.Workbooks(1).ActiveSheet.Cells(InFile.Line - 1, 1) = InFile.ReadLine
	&#039; Пишем строку второго файла
	xEl.Workbooks(1).ActiveSheet.Cells(InFile1.Line - 1, 2) = InFile1.ReadLine
Loop

&#039; Определение диапазона для сортировки
With xEl.Workbooks(1).ActiveSheet.UsedRange
		iRow = .Row + .Rows.Count - 1 &#039; Последняя строка
		iCol = .Column + .Columns.Count - 1 &#039; Последний столбец
End With

&#039; Для того чтобы в каждом столбце произошла подгонка по ширине	
For k = 1 to iCol
	xEl.Workbooks(1).ActiveSheet.Cells(iRow, k).EntireColumn.AutoFit
Next

&#039; Для того чтобы поэксперементировать с диапазоном, если снимите комент то увидите где именно находится диапазон
&#039;xEl.Workbooks(1).ActiveSheet.Range(xEl.Workbooks(1).ActiveSheet.Cells(1,1),xEl.Workbooks(1).ActiveSheet.Cells(iRow,iCol)).select
Set objRange = xEl.Workbooks(1).ActiveSheet.Range(xEl.Workbooks(1).ActiveSheet.Cells(1,1),xEl.Workbooks(1).ActiveSheet.Cells(iRow,iCol))
Set objRange2 = xEl.Range(&quot;B1&quot;)&#039; - Здесь указывается именно та колонка, по которой вы будите сортировать
objRange.Sort objRange2,,,,,,,2,,,1,1&#039; сам метод
Wscript.Echo &quot;Готово&quot;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Vasek]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27769</uri>
			</author>
			<updated>2012-03-31T10:36:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58653#p58653</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS. Сортировка содержимого ячеек в Excel]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58645#p58645" />
			<content type="html"><![CDATA[<p>Вы можете детальнее описать какая сортировка вам нужна?</p>]]></content>
			<author>
				<name><![CDATA[Vasek]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27769</uri>
			</author>
			<updated>2012-03-31T08:34:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58645#p58645</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBS. Сортировка содержимого ячеек в Excel]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58559#p58559" />
			<content type="html"><![CDATA[<p>Здравствуйте. Есть такая задача отсортировать 5 колонок по содержимому одной из колонок. Макрос на VBA получается следующий:<br /></p><div class="codebox"><pre><code>Sub Макрос5()
&#039;
&#039; Макрос5 Макрос
&#039;

&#039;
    ActiveWorkbook.Worksheets(&quot;Лист1&quot;).Sort.SortFields.Clear
    ActiveWorkbook.Worksheets(&quot;Лист1&quot;).Sort.SortFields.Add Key:=Range(&quot;B13&quot;), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets(&quot;Лист1&quot;).Sort
        .SetRange Range(&quot;B14:F18&quot;)
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub</code></pre></div><p>К сожалению у меня не получается перевести это на язык, понятный VBS. Если кто-нибудь сталкивался с данной проблемой - поделитесь примером кода на VBS. Или подскажите, как можно это сделать или где подглядеть.</p>]]></content>
			<author>
				<name><![CDATA[KlimTV]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27683</uri>
			</author>
			<updated>2012-03-29T14:06:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58559#p58559</id>
		</entry>
</feed>
