Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2011, 11:07   #1
TI_ProJecT
Пользователь
 
Регистрация: 06.11.2011
Сообщений: 25
По умолчанию Циклы с условием

Здравствуйте.
VBA Excel
- В несколько смежных клеток любого столбца на Листе1 введем фамилии, имя и отчество сотрудников. Выделим эти клетки. Программа должна из выделенного блока клеток выделить только фамилии и сформировать список фамилий на Листе2 в столбце А, начиная с клетки А2.

Написал, но не знаю, как сделать, чтобы брались не определенные ячейки, а выделенные.
Код:
Sub sampr3()
k = 1
Do While Mid(Cells(2, 11), k, 1) <> " "
k = k + 1
Loop
Sheets("Лист2").Cells(1, 1) = Mid(Sheets("Лист1").Cells(2, 11), 1, k - 1)
End Sub

Последний раз редактировалось Stilet; 06.11.2011 в 11:12.
TI_ProJecT вне форума Ответить с цитированием
Старый 06.11.2011, 11:17   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Опиши событие
Код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 For Each c In Target
  Debug.Print c - Этотипа вывод. Напишешь тут вывод в Листбокс
Next c
End Sub
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.11.2011, 11:23   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub FIO1()
  r = 0
  With Sheets("Лист2")
    .Columns(1).ClearContents
    Do While Selection.Cells(r * 3 + 1, 1) <> ""
      .Cells(r + 1, 1) = Selection(r * 3 + 1, 1)
      r = r + 1
      If r * 3 + 1 > Selection.Rows.Count Then Exit Do
    Loop
  End With
  MsgBox r & " items copied", vbokonly, "Congratulation!!!"
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 06.11.2011 в 11:33.
IgorGO вне форума Ответить с цитированием
Старый 06.11.2011, 11:29   #4
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

предварительно выделить область с данными
Код:
Sub io()
Dim v(), x, i&
With Selection
    ReDim v(1 To .Rows.Count * .Columns.Count, 1 To 1)
    For Each x In .Value
        If x <> "" Then i = i + 1: v(i, 1) = Split(x)(0)
    Next
    Sheets("Лист2").[A1].Resize(i) = v()
End With
End Sub
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Старый 06.11.2011, 11:45   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
В несколько смежных клеток любого столбца на Листе1 введем фамилии, имя и отчество
nerv,
данные не показаны... и можно фантазировать как угодно, но не до такой же степени. судя по описанию - фамилия, имя, отчество находятся в отдельных ячейках друг под другом, а не в одной, разделенные пробелами))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 06.11.2011, 12:05   #6
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Вот и пришли к сакраментальному: мож не суетиться, пока автор не выложит пример в виде файла со своими наработками? Все вы на форумах кучу собак съели:-) Экстрасенсорика вещь полезная, но ненадежная. ИМХО.
П.С. Я кстати тоже понял так, что в одной ячейке ФИО. Спешить не стал:-)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 06.11.2011 в 12:12.
kuklp вне форума Ответить с цитированием
Старый 06.11.2011, 12:09   #7
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

IgorGO, если автор придет, проверим : )

\офф: люди добрые, сейчас учу JavaScript, может кто посоветует толковую литературу и справочник (последний желательно в chm)? Заранее спасибо)
Тишина – самый громкий звук

Последний раз редактировалось nerv; 06.11.2011 в 12:15.
nerv вне форума Ответить с цитированием
Старый 06.11.2011, 12:26   #8
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Цитата:
Сообщение от nerv Посмотреть сообщение
\офф: люди добрые, сейчас учу JavaScript, может кто посоветует толковую литературу и справочник (последний желательно в chm)? Заранее спасибо)
Ответил в личку.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 06.11.2011, 14:26   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

2:2
Мне показалось, как тёзке
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 06.11.2011, 15:05   #10
TI_ProJecT
Пользователь
 
Регистрация: 06.11.2011
Сообщений: 25
По умолчанию

Данные в одной клетке ( ФИО ) через пробел, находится могут где попало на листе.
TI_ProJecT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Циклы с условием и Работа со строками TI_ProJecT Microsoft Office Excel 4 06.11.2011 10:58
Программа на Delphi. Циклы с условием Koksa Помощь студентам 14 24.01.2011 16:53
синусы и ко. циклы, вроде циклы Scorch92 Паскаль, Turbo Pascal, PascalABC.NET 2 22.12.2010 19:26
Циклы с условием окончания Максикок Помощь студентам 0 26.10.2010 21:32
Циклы - вложенны циклы? tigga Microsoft Office Excel 5 19.02.2010 23:36