<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; Excel скрипт сбора данных]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7284</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7284&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Excel скрипт сбора данных».]]></description>
		<lastBuildDate>Wed, 20 Jun 2012 07:53:08 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Excel скрипт сбора данных]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61039#p61039</link>
			<description><![CDATA[<p>alexii спасибо, понял как работает и как им пользоваться и модернизировать!</p>]]></description>
			<author><![CDATA[null@example.com (DRC)]]></author>
			<pubDate>Wed, 20 Jun 2012 07:53:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61039#p61039</guid>
		</item>
		<item>
			<title><![CDATA[Re: Excel скрипт сбора данных]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61037#p61037</link>
			<description><![CDATA[<p><strong>DRC</strong>, немного поправил код:<br /></p><div class="codebox"><pre><code>Function FindMaterials(objCell As Range)
    Dim objRange As Range
    Dim strValue As String
    
    Application.Volatile
    
    strValue = &quot;&quot;
    
    For Each objRange In ThisWorkbook.Sheets.Item(&quot;Materials&quot;).UsedRange.Rows
        With objRange.Cells
            If .Item(1, 1).Value = objCell.Item(1, 1).Value Then
                strValue = strValue &amp; .Item(1, 2).Value &amp; &quot; &quot; &amp; .Item(1, 3).Value &amp; vbLf
            End If
        End With
    Next
    
    If Len(strValue) &lt;&gt; 0 Then
        strValue = Left(strValue, Len(strValue) - 1)
    End If
    
    FindMaterials = strValue
End Function</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Wed, 20 Jun 2012 07:31:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61037#p61037</guid>
		</item>
		<item>
			<title><![CDATA[Re: Excel скрипт сбора данных]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61035#p61035</link>
			<description><![CDATA[<p>alexii огромное спасибо! заработало! <br />очень-очень выручили!</p>]]></description>
			<author><![CDATA[null@example.com (DRC)]]></author>
			<pubDate>Wed, 20 Jun 2012 06:41:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61035#p61035</guid>
		</item>
		<item>
			<title><![CDATA[Re: Excel скрипт сбора данных]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61032#p61032</link>
			<description><![CDATA[<p>Одной формулой, конечно, можно сделать. Но формула будет просто гигантская и жёстко будет привязана к числу строк в исходном файле. Лучше использовать пользовательскую функцию.</p><p>Переименуйте рабочий лист с исходными данными в «Materials». Вставьте в рабочую книгу модуль. Добавьте в этот модуль подобный текст:<br /></p><div class="codebox"><pre><code>Option Explicit

Function FindMaterials(objCell As Range)
    Dim objRange As Range
    Dim strValue As String
    
    Application.Volatile
    
    strValue = &quot;&quot;
    
    For Each objRange In ThisWorkbook.Sheets.Item(&quot;Materials&quot;).UsedRange.Rows
        With objRange.Cells
            If .Item(1, 1).Value = objCell.Item(1, 1).Value Then
                strValue = strValue &amp; .Item(1, 2).Value &amp; &quot; &quot; &amp; .Item(1, 3).Value &amp; vbLf
            End If
        End With
    Next
    
    strValue = Left(strValue, Len(strValue) - 1)
    
    FindMaterials = strValue
End Function</code></pre></div><p>Используйте указанную пользовательскую функцию на рабочем листе в ячейках второго столбца, указав аргументом пользовательской функции ячейку, содержимое которой будет искаться в первом столбце переименованного листа «Materials», например:<br /></p><div class="codebox"><pre><code>=FindMaterials(A1)</code></pre></div><p>P.S. Если не совладаете — пишите, выложу готовый пример.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Wed, 20 Jun 2012 06:25:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61032#p61032</guid>
		</item>
		<item>
			<title><![CDATA[Re: Excel скрипт сбора данных]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61028#p61028</link>
			<description><![CDATA[<p>alexii, список на первом листе сделан просто для удобства - в принципе в данной ячейке можно название и в ручную ввести - главное, что при выборе скажем &quot;объект1&quot; в соседнюю ячейку записались все данные из столбца 2 и 3 второго листа соответствующие всем записям с названием &quot;объект1&quot;.</p><p>А у меня тупик, вообще не могу понять как это можно сделать...</p><p>если выбирать одно значение то формула <br /></p><div class="codebox"><pre><code>=ЕСЛИОШИБКА(ВПР(Лист1!А1;Лист2!А:С;2;0);&quot;&quot;)</code></pre></div><p>работает и устраивает на 100%, но цель что бы объединяло все данные</p>]]></description>
			<author><![CDATA[null@example.com (DRC)]]></author>
			<pubDate>Wed, 20 Jun 2012 05:00:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61028#p61028</guid>
		</item>
		<item>
			<title><![CDATA[Re: Excel скрипт сбора данных]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61018#p61018</link>
			<description><![CDATA[<p>Как Вы предлагаете пользователю отличать их? У меня, например, список подстановки на листе «Лист1» отображается в виде:<br /></p><div class="quotebox"><blockquote><div class="codebox"><pre><code>объект1
объект1
объект1
объект2
объект2
объект2
объект3
объект3
объект3</code></pre></div></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Tue, 19 Jun 2012 19:00:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61018#p61018</guid>
		</item>
		<item>
			<title><![CDATA[Re: Excel скрипт сбора данных]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61016#p61016</link>
			<description><![CDATA[<p>alexii потому, что для одного объекта может быть несколько видом материалов и соответственно сертификатов к ним</p>]]></description>
			<author><![CDATA[null@example.com (DRC)]]></author>
			<pubDate>Tue, 19 Jun 2012 18:54:06 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61016#p61016</guid>
		</item>
		<item>
			<title><![CDATA[Re: Excel скрипт сбора данных]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61005#p61005</link>
			<description><![CDATA[<p>Почему у Вас в примере повторяются значения в ключевом поле, по которому осуществляется выбор («ОбъектXX») — на листе «mat»?</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Tue, 19 Jun 2012 16:07:38 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61005#p61005</guid>
		</item>
		<item>
			<title><![CDATA[Re: Excel скрипт сбора данных]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60991#p60991</link>
			<description><![CDATA[<p><strong>alexii</strong> если я правильно то по ссылке ниже пример того, что я сделал.<br /><a href="http://download10.files.mail.ru/7ELT3F/bec0b524ddcf78c46f85066d70f25767/primer.7zurl">пример</a><br /> к листу два привязан текстовый документ mat</p>]]></description>
			<author><![CDATA[null@example.com (DRC)]]></author>
			<pubDate>Tue, 19 Jun 2012 04:52:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60991#p60991</guid>
		</item>
		<item>
			<title><![CDATA[Re: Excel скрипт сбора данных]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60988#p60988</link>
			<description><![CDATA[<p><strong>DRC</strong>, без исходных данных внятного разговора не получится.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Tue, 19 Jun 2012 02:23:14 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60988#p60988</guid>
		</item>
		<item>
			<title><![CDATA[Excel скрипт сбора данных]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60984#p60984</link>
			<description><![CDATA[<p>Доброго времени суток!<br />Столкнулся с проблемой создания скрипта в Excel, к сожалению в этом практически ничего не понимаю, поэтому прошу помощи, очень хочу разобраться как же это сделать можно.</p><p>Есть файл Excel в котором два листа: первый лист таблица, на второй лист привязан тестовый документ с данными которые записываются на второй лист в три столбца: название объекта - материал - паспорт<br />Смысл в том что бы при определенном значении одной из ячеек на листе 1 (название объекта) в соседнюю ячейку записывались все значения материалов и паспортов соответствующие с листа 2 соответствующие объекту.</p><p>подсказали вот такой скрипт:<br /></p><div class="codebox"><pre><code>Public Function ListByDate(cDate, rLookupRange,iReturnCol1, iReturnCol2)
iRowCount = rLookupRange.sheet.usedrange.rows.count
ListByDate=&quot;&quot;
for each cell in rLookupRange.Columns(1).cells
if cell.value2=cDate.value2 then
ListByDate=ListByDate+cells(cell.row,iRe turnCol1)+cells(cell.row,iReturnCol2) = vbNewLine
end if
if cell.row&gt;iRowCount 
Exit function
End if
Next
End Function</code></pre></div><p>но он мне выдает ошибки при работе с ним.</p><p>Помогите разобраться.</p>]]></description>
			<author><![CDATA[null@example.com (DRC)]]></author>
			<pubDate>Mon, 18 Jun 2012 20:40:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60984#p60984</guid>
		</item>
	</channel>
</rss>
