Страницы: 1
RSS
Надо из столбца А вставить случайные значения в столбец В
 
Добрые мальчики, я на Вашем очень полезном форуме нашла в одной из тем файлик, в котором случайно выбиралось значение из столбца А.  
 
Мне этот файлик очень подходит. Но можно ли его дополнить так, чтобы случайно выбранные значения из столбца А вставлялись в столбец В? Допустим, 50 случайно выбранных значений.  
 
То есть вот код. Первый я взяла с этого сайта, а второй уж сама смогла кое-как написать.  
можно их как-то объединить?  
 
Option Explicit  
 
Sub Макрос2()  
Dim iRow As Long  
Dim iLastRow As Long  
Dim FoundRng As Range  
Dim Finish As Boolean  
   Randomize  
   With Sheets("РабочийЛист")  
       Do  
           iRow = Int((100 * Rnd) + 1)  
           Set FoundRng = .Range("A1:A100").Find(iRow, , xlFormulas, xlWhole)  
           If FoundRng Is Nothing Then  
               iLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row  
               If iLastRow < 101 Then  
                   If iLastRow > 1 Or Not IsEmpty(.Cells(1, 1)) Then iLastRow = iLastRow + 1  
                   .Cells(iLastRow, 1) = iRow  
                   If iLastRow = 100 Then .Range("A1:A100").ClearContents  
               End If  
                 
               MsgBox Cells(iRow, 1).Address(0, 0)  
                     
                     
                     
                 
               Finish = True  
           End If  
       Loop While Finish = False  
   End With  
End Sub  
 
 
Sub TEST()  
                   Dim i As Integer  
                   For i = 1 To 50  
                   Range("B" & i).Value = Range("A" & i).Value  
                   Next i  
 
End Sub
 
Машулька, Вы лучше бы сформулировали задачу _ПОЛНОСТЬЮ_!  
 
Давайте, я начну, а Вы поправите-дополните...  
 
Вы хотите получить макрос, который разом заполняет столбец B  
(ячейки от 1 до 50) 50-ми случайными значениями. Случайные числа генерятся в диапазоне от 1 до 100 (смотря на приведённый код с RND).    
И, что ВАЖНО, числа в столбце B - не повторяются!!!  
(если повторы допускаются - то задача решается вообще элементарно!)  
 
Всё правильно?
 
Уважаемый Serge, да, я хочу получить макрос, который разом заполняет столбец В значениями именно из столбца А, а не случайными значениями вообще.    
Просто я не очень понимаю в кодах ВБА, поэтому не знаю, как в найденном на этом сайте коде генерятся числа. Сорри.  
Да, важно, что числа не повторяются. То есть число, которое уже было вставлено из столбца А, не может быть вставлено повторно.  
Спасибо Вам, Serge!
 
буду нудным и настырным.  
 
поясняйте - столбец A уже заполнен?! кем и чем?  
Сколько значений есть в столбце A?    
В нём повторяющихся чисел нет?!  
 
вот, лишний раз убеждаюсь, что выложенный файлик с парой листов - как есть (тут же надписи с текстом, что надо куда девать) и лист, как должно быть после.  
и всё. 99% вопросов отпадут...  
Машуль, может примерчик сюда выложите?
 
вот. решение следующей задачи.  
в столбце A есть 50 значений (по барабану что там - хоть числа, хоть буквы, хоть даты дней рождения...)  
все эти 50 значений случайным образом переписываются в столбец B (одна ячейка из 50 столбца A будет только один раз переписана в одну ячейку столбца B)! всё.  
 
Option Explicit  
 
Sub ColumnA_Random_to_B()  
'В редакторе VBA в меню Tools, пункт Reference  
' в диалоге поставте галочку для Microsoft Scripting Runtime.  
   
 Dim pAll As New Scripting.Dictionary  
 Dim RndRow As Integer, CountInB As Integer  
     
 Randomize  
 CountInB = 1&  
   
 Do  
   RndRow = Int((50 * Rnd) + 1)  
   
   ' проверим, что ячейку с таким номером строки ещё не копировали  
   If Not pAll.Exists(CStr(RndRow)) Then  
       pAll.Add CStr(RndRow), CountInB  
       Cells(CountInB, "B").Value = Cells(RndRow, "A").Value  
       CountInB = CountInB + 1  
   End If  
 Loop While (CountInB <= 50)  
   
End Sub
 
Напоминаю! Трюк, работающий на этом форуме.  
 
Хотите получить код с отступами - нажмите на сообщении с нужным макросом кнопочку "Ответить с цитированием" - и в формочке уже можно скопировать нормально форматированный код макроса!
 
Интересно заметить, что Машулька и Серега - это один и тот же компьютер.    
 
А еще про очень похожий "Выбор случайной ячейки" интересовался Гаити: "в диапазоне А1-А100 надо выбрать любую случайную ячейку с помощью VBA и показать адрес ячейки с помощью msgbox" http://www.planetaexcel.ru/forum.php?thread_id=5348  
Сравните post_28536.xls Машульки/Сереги с тем, о чем спрашивал Гаити.  
 
Причем Серега в посте http://www.planetaexcel.ru/forum.php?thread_id=5402&page_forum=2&allnum_forum=21 уже предложил Лузеру™ встретиться.  
Советую использовать WMZ вместо пива  
 
Вот такие странные случайности.
 
Спасибо, Serge!  
И еще. Отдел К0 - Вам бы спать побольше нужно. А то многое мерещится.  
И не стоит клеветать там, где ничего не знаете.  
Айпи не реальный. Я сижу из сети, в которой не один человек пользуется этим сайтом. И по их совету я сюда залезла. И вот теперь делайте выводы.
 
{quote}{login=Машулька}{date=22.08.2008 01:05}{thema=}{post}Спасибо, Serge!  
И еще. Отдел К0 - Вам бы спать побольше нужно. А то многое мерещится.  
И не стоит клеветать там, где ничего не знаете.  
Айпи не реальный. Я сижу из сети, в которой не один человек пользуется этим сайтом. И по их совету я сюда залезла. И вот теперь делайте выводы.{/post}{/quote}  
IP здесь ни при чем. Есть другие методы. Спокойной ночи.
 
Известны нам эти методы, Отдел К0. Именно поэтому я и прошу Вас не говорить о том, чего не знаете. Просто так наговорить может кто угодно. А IP здесь очень даже при чем. Без него вы даже себя в сети не найдете, я уж не говорю о компьютере, который выходит в интернет не через свой собственный реальный айпи, а общий. И вы можете рассказывать кому угодно, только не мне, о том, что можно определить компьютер человека, не имеющего своего реального айпи. Без помощи провайдера ну никак вам не обойтись. а я сомневаюсь, что вы даже знаете моего провайдера. Хотя вот это как раз определить просто расплюнуть. Назовите моего провайдера и я поверю, что вы действительно что-то можете. Иначе больше не пишите. ищите лохушек в другом месте.  
Я хоть и девушка, но с компьютером на ты.  
Так что, Сладких снов, пупсик или кто Вы там, уважаемый Отдел К0.
 
да, и еще. точно определить компьютер можно только по МАК-адресу. Да и то, не всегда. Хотела бы я посмотреть, как вы можете определить мой мак-адрес, если я нахожусь в локальной сети.  
Давайте, назовите мой мак-адрес и мак-адрес этого, кого Вы там назвали, Сергея? Вот и проверим.  
Не знаете?  
не удивительно.  
Спокойной ночи.
 
Болльшой Прювет господину из отдела К6!!!  
Всем.  
Подтверждаю - есть ОЧЕНЬ высокая вероятность того, что  Машулька и Серега или одно и то же лицо или работают за одним и тем же компьютером.  
Про злобного гаити ничего сказать не могу - дополнительных данных у меня нет. вопрос про случайные числа не очень веский довод...  
и главное, непонятно, зачем это скрывать то?... это жжж-жжж не спроста!!  
господа и дамы! будьте бдительны!!!!!
 
Господа, на данном сайте распространилась угроза. Некие Отдел К6 и Анонимус, которых НИКОГДА (заметьте) не было на этом сайте ЛИБО они скрывают свои ники (странно, зачем? это жжжжжжжжжжж не спроста), пытаются зачем-то очернять людей.  
При этом, ЗАМЕТЬТЕ, НИКАКИХ доказательств нет. То есть это обычная клевета.  
Замечу еще одно. И господин Анонимус и Отдел К6 как-то странно определяются как один и тот же компьютер. Соответственно, это либо один и тот же человек (но зачем тогда разные ники?) либо это два человека, работающих за одним компьютером (что вряд ли).  
БУДЬТЕ БДИТЕЛЬНЫ!  
 
А Вас, господа, убедительно прошу больше не беспокоить и не смущать народ.  
Если есть доказательства, предъявляйте их. Если нет, то очернить может любой, для этого большого ума не надо.  
И предлагаю закончить этот Оффтоп. не для этого придуман форум.  
С уважением, Машулька!
 
SAPIENTI SAT
 
не стоит искрить латынью и считать себя умным. умный тот, кто доказывает делами, а не трепит языком. болтунов полно.  
так что Argumentum ad ignorantiam оставьте себе.  
А про вас могу сказать одно: Asini exiguo pabulo vivunt
Страницы: 1
Читают тему
Loading...