Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перенос каждой второй ячейки столбца, в соседнюю с права - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Перенос каждой второй ячейки столбца, в соседнюю с права (Условное Форматирование/Conditional Formattings)
Перенос каждой второй ячейки столбца, в соседнюю с права
part1zan Дата: Среда, 01.11.2017, 13:20 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Перенос каждой второй ячейки столбца А(номер телефона), в соседнюю с права со сдвигом вверх.(на против имени)
Помогите отформатировать базу, нашел много решений, но не понимаю куда вставлять код скрипт макрос итд. тугой я в этом деле, пошагово может кто-то объяснить как для дебила ?
 
Ответить
СообщениеПеренос каждой второй ячейки столбца А(номер телефона), в соседнюю с права со сдвигом вверх.(на против имени)
Помогите отформатировать базу, нашел много решений, но не понимаю куда вставлять код скрипт макрос итд. тугой я в этом деле, пошагово может кто-то объяснить как для дебила ?

Автор - part1zan
Дата добавления - 01.11.2017 в 13:20
китин Дата: Среда, 01.11.2017, 13:24 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
покажите в файле


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениепокажите в файле

Автор - китин
Дата добавления - 01.11.2017 в 13:24
part1zan Дата: Среда, 01.11.2017, 13:32 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
вот
К сообщению приложен файл: 0300751.xls (92.5 Kb)
 
Ответить
Сообщениевот

Автор - part1zan
Дата добавления - 01.11.2017 в 13:32
ВладимирG Дата: Среда, 01.11.2017, 13:56 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 136
Репутация: 22 ±
Замечаний: 0% ±

2007
[vba]
Код
lstr = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lstr Step 2
    Cells(i + 1, 2) = Cells(i + 1, 1)
Next
[/vba]
 
Ответить
Сообщение[vba]
Код
lstr = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lstr Step 2
    Cells(i + 1, 2) = Cells(i + 1, 1)
Next
[/vba]

Автор - ВладимирG
Дата добавления - 01.11.2017 в 13:56
китин Дата: Среда, 01.11.2017, 13:58 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
как то так:
[vba]
Код
Sub ttt()
    Application.ScreenUpdating = False
    Application.CutCopyMode = False
    Application.DisplayAlerts = False
Dim i&, im&, d_ As Range
im = Cells(Rows.Count, 1).End(xlUp).Row
    For i = im To 2 Step -2
        Range("A" & i).Copy
        Range("B" & i - 1).PasteSpecial
        Rows(i).Delete
    Next i
    Application.ScreenUpdating = True
    Application.CutCopyMode = True
    Application.DisplayAlerts = True

End Sub
[/vba]
Добавил столбец рядом с фамилиями. просто нажмите кнопку
К сообщению приложен файл: part1zan.xls (100.0 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениекак то так:
[vba]
Код
Sub ttt()
    Application.ScreenUpdating = False
    Application.CutCopyMode = False
    Application.DisplayAlerts = False
Dim i&, im&, d_ As Range
im = Cells(Rows.Count, 1).End(xlUp).Row
    For i = im To 2 Step -2
        Range("A" & i).Copy
        Range("B" & i - 1).PasteSpecial
        Rows(i).Delete
    Next i
    Application.ScreenUpdating = True
    Application.CutCopyMode = True
    Application.DisplayAlerts = True

End Sub
[/vba]
Добавил столбец рядом с фамилиями. просто нажмите кнопку

Автор - китин
Дата добавления - 01.11.2017 в 13:58
_Boroda_ Дата: Среда, 01.11.2017, 14:00 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Не нужен Вам никакой скрипт для этого файла. Все делается руками за 20 секунд
1. Встаете в А2, нажимаете Контрл Шифт СтрелкаВниз
2. Копируете выделившееся
3. Встаете в В1, вставляете скопированное
4. Встаете в А2, жмете Контрл Шифт L - появляется автофильтр
5. в столбце Е ставите фильтр по "Пустые"
6. Встаете в А2, нажимаете Контрл Шифт СтрелкаВниз
7. Вкладка Шлавная Главная - Стрелка под кнопкой "Удалить" - Удалить строки с листа
8. Снимаете автофильтр - Вкладка Данные - Очистить
Получается вот такой файл

Все это макросом
[vba]
Код
Sub tt()
    Application.ScreenUpdating = 0
    Range(Range("A2"), Range("A2").End(xlDown)).Copy Range("B1")
    ActiveSheet.Range("$A$1").AutoFilter Field:=5, Criteria1:="="
    Range(Range("A2"), Range("A2").End(xlDown)).EntireRow.Delete
    ActiveSheet.ShowAllData
    Application.ScreenUpdating = 1
End Sub
[/vba]
В файле _3 кнопка
К сообщению приложен файл: 0300751_1.xls (78.0 Kb) · 0300751_3.xlsb (40.8 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНе нужен Вам никакой скрипт для этого файла. Все делается руками за 20 секунд
1. Встаете в А2, нажимаете Контрл Шифт СтрелкаВниз
2. Копируете выделившееся
3. Встаете в В1, вставляете скопированное
4. Встаете в А2, жмете Контрл Шифт L - появляется автофильтр
5. в столбце Е ставите фильтр по "Пустые"
6. Встаете в А2, нажимаете Контрл Шифт СтрелкаВниз
7. Вкладка Шлавная Главная - Стрелка под кнопкой "Удалить" - Удалить строки с листа
8. Снимаете автофильтр - Вкладка Данные - Очистить
Получается вот такой файл

Все это макросом
[vba]
Код
Sub tt()
    Application.ScreenUpdating = 0
    Range(Range("A2"), Range("A2").End(xlDown)).Copy Range("B1")
    ActiveSheet.Range("$A$1").AutoFilter Field:=5, Criteria1:="="
    Range(Range("A2"), Range("A2").End(xlDown)).EntireRow.Delete
    ActiveSheet.ShowAllData
    Application.ScreenUpdating = 1
End Sub
[/vba]
В файле _3 кнопка

Автор - _Boroda_
Дата добавления - 01.11.2017 в 14:00
китин Дата: Среда, 01.11.2017, 14:10 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
[offtop]
Ну вот пришел Саша и ...... :p
а поизвращатся? :D


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщение[offtop]
Ну вот пришел Саша и ...... :p
а поизвращатся? :D

Автор - китин
Дата добавления - 01.11.2017 в 14:10
_Boroda_ Дата: Среда, 01.11.2017, 14:13 | Сообщение № 8
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Во, как раз хотел тебе написать - если ты переносишь значения много раз по мало ячеек (и не нужно форматы, примечания и прочую лабуду), то гораздо быстрее работает приравнивание[vba]
Код
Range(1)=Range(2)
[/vba], а вот если ты переносишь много ячеек сразу и не часто, то вот тогда да, Копи-Паст, как у тебя

И вот это
[vba]
Код
Range("A" & i).Copy
Range("B" & i - 1).PasteSpecial
[/vba]можно переписать вот так
[vba]
Код
Range("A" & i).Copy Range("B" & i - 1)
[/vba]
Тогда не нужен
[vba]
Код
Application.CutCopyMode = False
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВо, как раз хотел тебе написать - если ты переносишь значения много раз по мало ячеек (и не нужно форматы, примечания и прочую лабуду), то гораздо быстрее работает приравнивание[vba]
Код
Range(1)=Range(2)
[/vba], а вот если ты переносишь много ячеек сразу и не часто, то вот тогда да, Копи-Паст, как у тебя

И вот это
[vba]
Код
Range("A" & i).Copy
Range("B" & i - 1).PasteSpecial
[/vba]можно переписать вот так
[vba]
Код
Range("A" & i).Copy Range("B" & i - 1)
[/vba]
Тогда не нужен
[vba]
Код
Application.CutCopyMode = False
[/vba]

Автор - _Boroda_
Дата добавления - 01.11.2017 в 14:13
китин Дата: Среда, 01.11.2017, 14:26 | Сообщение № 9
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Спасибо Саша. а вот Offset прикрутить у меня не получилоь %)
такая конструкция не катит :'(
[vba]
Код

For i = im To 2 Step -2
        Range("A" & i).Offset(-1, 1)
        Rows(i).Delete
Next i
[/vba]


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеСпасибо Саша. а вот Offset прикрутить у меня не получилоь %)
такая конструкция не катит :'(
[vba]
Код

For i = im To 2 Step -2
        Range("A" & i).Offset(-1, 1)
        Rows(i).Delete
Next i
[/vba]

Автор - китин
Дата добавления - 01.11.2017 в 14:26
_Boroda_ Дата: Среда, 01.11.2017, 14:28 | Сообщение № 10
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Ты про так?
[vba]
Код
Range("A" & i).Offset(-1, 1)=Range("A" & i).value'можно и без валуев, но с ними лучше
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТы про так?
[vba]
Код
Range("A" & i).Offset(-1, 1)=Range("A" & i).value'можно и без валуев, но с ними лучше
[/vba]

Автор - _Boroda_
Дата добавления - 01.11.2017 в 14:28
китин Дата: Среда, 01.11.2017, 14:33 | Сообщение № 11
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
точно. именно про это!!!! И вот эта конструкция вместо моей первой работает в разы быстрее


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениеточно. именно про это!!!! И вот эта конструкция вместо моей первой работает в разы быстрее

Автор - китин
Дата добавления - 01.11.2017 в 14:33
_Boroda_ Дата: Среда, 01.11.2017, 14:37 | Сообщение № 12
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Ну. А я тебе про что -
гораздо быстрее работает приравнивание
Range(1)=Range(2)

Но все равно все сразу кучей делать быстрее должно быть. И чем больше ячеек, тем больше разница


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНу. А я тебе про что -
гораздо быстрее работает приравнивание
Range(1)=Range(2)

Но все равно все сразу кучей делать быстрее должно быть. И чем больше ячеек, тем больше разница

Автор - _Boroda_
Дата добавления - 01.11.2017 в 14:37
Фомулист Дата: Среда, 01.11.2017, 14:55 | Сообщение № 13
Группа: Проверенные
Ранг: Обитатель
Сообщений: 396
Репутация: 9 ±
Замечаний: 80% ±

Excel 2003
Вкладка Шлавная

Что-то я такой даже в Эксель 2016 не видел %) .


Терпение и труд всё перетрут!
 
Ответить
Сообщение
Вкладка Шлавная

Что-то я такой даже в Эксель 2016 не видел %) .

Автор - Фомулист
Дата добавления - 01.11.2017 в 14:55
part1zan Дата: Среда, 01.11.2017, 15:15 | Сообщение № 14
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
всем огромное спасибо)
 
Ответить
Сообщениевсем огромное спасибо)

Автор - part1zan
Дата добавления - 01.11.2017 в 15:15
part1zan Дата: Среда, 01.11.2017, 16:48 | Сообщение № 15
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
друзья чтобы не спамить, задам тут еще один вопрос, как например колонку
380 955 467 030
937 891 183
380 97 378 1036
677 830 655
990 150 832
637 118 383
676 343 437
380 959 422 114
37 060 018 192
380 50 567 4354
936 305 802
974 205 963
380 50 554 5763
675 504 361
380 98 738 9492
668 817 173
974 678 302
380 503 576 595
380 969 714 476
380 977 909 007
380 63 389 6886
380 96 467 9404
380 63 359 7370
676 586 674
380 502 083 915

сделать в одном формате вот таком например 380502083915 ? подскажите
 
Ответить
Сообщениедрузья чтобы не спамить, задам тут еще один вопрос, как например колонку
380 955 467 030
937 891 183
380 97 378 1036
677 830 655
990 150 832
637 118 383
676 343 437
380 959 422 114
37 060 018 192
380 50 567 4354
936 305 802
974 205 963
380 50 554 5763
675 504 361
380 98 738 9492
668 817 173
974 678 302
380 503 576 595
380 969 714 476
380 977 909 007
380 63 389 6886
380 96 467 9404
380 63 359 7370
676 586 674
380 502 083 915

сделать в одном формате вот таком например 380502083915 ? подскажите

Автор - part1zan
Дата добавления - 01.11.2017 в 16:48
_Boroda_ Дата: Среда, 01.11.2017, 17:33 | Сообщение № 16
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
- Прочитайте Правила форума
- Приложите файл в формате Excel размером до 100кб согласно п.3 Правил форума
- Создайте отдельную тему согласно п.4 и п.5q Правил форума
Эта тема закрыта


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение- Прочитайте Правила форума
- Приложите файл в формате Excel размером до 100кб согласно п.3 Правил форума
- Создайте отдельную тему согласно п.4 и п.5q Правил форума
Эта тема закрыта

Автор - _Boroda_
Дата добавления - 01.11.2017 в 17:33
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Перенос каждой второй ячейки столбца, в соседнюю с права (Условное Форматирование/Conditional Formattings)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!