Макросы в excel удаление значения в столбце

5 / 5 / 0

Регистрация: 02.01.2017

Сообщений: 164

1

Нужен макрос для удаления значений в ячейках по условию

02.03.2017, 22:57. Показов 26112. Ответов 9


Студворк — интернет-сервис помощи студентам

Ребята каким можно макросом удалять значения определённых ячеек .Задача макроса ,в ячейках в каждой из строк начиная с 28 строки столбца I ,промониторить выполняется ли условия чтобы если в ячейке значение меньше 2,00 то в этой строке будут стерты значения в ячейках C28 D28 E28 M28 N28 O28 P28 и так по всем ниже расположенным строкам без ограничения.Если условие в строке выполняется то значения в ячейках столбцов C,D,E,M,N,O,P это же строки будут удалены.Значения во всех этих ячейках введены используя выпадающий список.



0



smeckoi77

61 / 60 / 16

Регистрация: 13.02.2017

Сообщений: 172

03.03.2017, 00:47

2

Лучший ответ Сообщение было отмечено Aleks 1978 как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub макрос()
 
For i = 28 To Range("A" & Rows.Count).End(xlUp).Row
    If Range("A" & i) < 2 Then
    Range("C" & i).ClearContents
    Range("D" & i).ClearContents
    Range("E" & i).ClearContents
    Range("M" & i).ClearContents
    Range("N" & i).ClearContents
    Range("O" & i).ClearContents
    Range("P" & i).ClearContents
    End If
Next i
 
End Sub



1



5 / 5 / 0

Регистрация: 02.01.2017

Сообщений: 164

03.03.2017, 03:03

 [ТС]

3

А можно пожалуйста ещё одно условие добавить в этот макрос ,к тому что в «A» ячейка < 2 .и ещё если в столбце «H» этой же строки ячейка имеет значение текст «ДА» то ‘макрос срабатывает на удаление значений в ячейках столбцов C,D,E,M,N,O,P.



0



k61

85 / 82 / 31

Регистрация: 13.10.2014

Сообщений: 167

03.03.2017, 05:46

4

Лучший ответ Сообщение было отмечено Aleks 1978 как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub макрос_1()
For Each x In Range(Cells(28, 9), Cells(Cells(Rows.Count, 9).End(xlUp).Row, 9))
Set rrr = Union(Range(x.Offset(, -6), x.Offset(, -4)), Range(x.Offset(, 4), x.Offset(, 7)))
  If x < 2 Then
    If x.Offset(, -8) < 2 Then
      If x.Offset(, 11) = "ДА" Then rrr.ClearContents
    End If
  End If
Set rrr = Nothing
Next x
End Sub



1



Aleks 1978

5 / 5 / 0

Регистрация: 02.01.2017

Сообщений: 164

03.03.2017, 06:20

 [ТС]

5

А как можно вот этот вариант кода с одним условием,закрепив его выполнение за кнопкой на Листе 9 ,чтобы он смог сделать свои вычисления с данными находящимися на Листе3 ?

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub макрос()
 
For i = 28 To Range("A" & Rows.Count).End(xlUp).Row
    If Range("A" & i) < 2 Then
    Range("C" & i).ClearContents
    Range("D" & i).ClearContents
    Range("E" & i).ClearContents
    Range("M" & i).ClearContents
    Range("N" & i).ClearContents
    Range("O" & i).ClearContents
    Range("P" & i).ClearContents
    End If
Next i
 
End Sub



0



smeckoi77

61 / 60 / 16

Регистрация: 13.02.2017

Сообщений: 172

03.03.2017, 08:22

6

Лучший ответ Сообщение было отмечено Aleks 1978 как решение

Решение

Перед словом Range везде дописать Sheets(«Лист3»).

Visual Basic
1
Sheets("Лист3").Range("A" & i)

Добавлено через 3 минуты
добавить условие в строку

Visual Basic
1
If Range("A" & i) < 2 And Range("H" & i) = "ДА" Then



1



Vlad999

3827 / 2254 / 751

Регистрация: 02.11.2012

Сообщений: 5,930

03.03.2017, 09:35

7

Лучший ответ Сообщение было отмечено Aleks 1978 как решение

Решение

Visual Basic
1
2
3
4
5
Range("C" & i).ClearContents
Range("D" & i).ClearContents
Range("E" & i).ClearContents
вариант в одну строчку
Range("C" & i).Resize(1,3).ClearContents



1



Aleks 1978

5 / 5 / 0

Регистрация: 02.01.2017

Сообщений: 164

05.03.2017, 20:36

 [ТС]

8

Добавил в макрос второе условие,которые будут в столбце A отбирать на удаление только значения меньше 1,50 и больше 1,70.Вопрос в чём ошибка строки в коде? а то макрос не работает.

Visual Basic
1
  If Range("A" & i) <  1,50  And Range("A" & i)  >  1,70 Then
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub Макрос ()
 
For i = 28 To Range("A" & Rows.Count).End(xlUp).Row
    If Range("A" & i) <  1,50  And Range("A" & i)  >  1,70 Then
    Range("C" & i).ClearContents
    Range("D" & i).ClearContents
    Range("E" & i).ClearContents
    Range("M" & i).ClearContents
    Range("N" & i).ClearContents
    Range("O" & i).ClearContents
    Range("P" & i).ClearContents
    End If
Next i
 End Sub



0



smeckoi77

61 / 60 / 16

Регистрация: 13.02.2017

Сообщений: 172

05.03.2017, 20:45

9

Число не может быть меньше 1,5 и больше 1,7 одновременно.

Добавлено через 4 минуты
значения меньше 1,50 ИЛИ больше 1,70

Добавлено через 40 секунд

Visual Basic
1
If Range("A" & i) <  1,50  Or Range("A" & i)  >  1,70 Then



1



5 / 5 / 0

Регистрация: 02.01.2017

Сообщений: 164

05.03.2017, 21:28

 [ТС]

10

Благодарю за помощь!Работает теперь



0



I am trying to create an Excel VBA that would delete only a specific part of the cell in only one column.

In Column A, I have a directory values:

For example:

Directoryof K:dataAdmin

What I would like to do is remove the «Directoryof» from all the cells in column A and leave only the remaining text that follows it.

Community's user avatar

asked Jul 28, 2015 at 16:44

Cory Gegg's user avatar

To create a macro to perform the above follow the below steps:

  1. Click the «Developer» tab on the top menu.
  2. You will find an option «Record Macro».
  3. Click the Record Macro ->
    a. A dialog box appears, give your macro a name
    b. Shortcut key (if you want) can give by pressing (shift and any key such as
    letters)
    c. Store macro in : This workbook (this allows your macro to run on this sheet).

  4. Click on «Use Relative References».

  5. Once you are done, just perform the delete operation ( by removing the portion you do not want) on one of the column so that the macro may record the process which you are performing.

  6. Once done, below at the lowest pane you will find Stop Macro option (a small blue square box). Click it to stop the recording of the macro.

  7. Now you are ready with a macro to replicate the same without you performing the operation.

  8. Just goto any other column where you want to perform the operation and click on «Macro» option on the developer tab and then click on your created marco, and you will see the magic happen.

answered Jul 28, 2015 at 17:24

Sudhanshu Agrawal's user avatar

You could probably use regex to accomplish what you are going for. Regular Expressions are often used for finding patterns. If all of your follows the same format, you could break your strings apart into two capture groups with something like:

(.+)([A-Z]:\.+)

https://regex101.com/r/uD4uJ0/2 <— this will show you your capture groups

Edit: I updated this link, sorry, originally had the wrong one.

This here How to use Regular Expressions (Regex) in Microsoft Excel both in-cell and loops will show you how to split up capture groups if you are interested.

Community's user avatar

answered Jul 28, 2015 at 17:02

Scott T's user avatar

Scott TScott T

2332 gold badges5 silver badges14 bronze badges

You could use something like text to columns, fixed width, and split the columns after Directoryof and then copy/paste the values back into column A.

I’m not sure if there’s a method to do this without a helper column without VBA. If you can afford to use a second column, you can also use =LEFT(Cell, # of characters) assuming that the part you want to strip off is always «Directoryof» and then copy/paste values back into column A.

shA.t's user avatar

shA.t

16.4k5 gold badges53 silver badges111 bronze badges

answered Jul 28, 2015 at 16:58

KFichter's user avatar

KFichterKFichter

7534 silver badges15 bronze badges

Многим пользователям, в том числе и мне, приходится ежедневно, еженедельно, ежемесячно либо ежегодно использовать одни и те же таблицы, сделанные в Excel. Для повторного и последующего использования этих таблиц, как правило приходится удалять значения некоторых ячеек для того, чтобы освободить место для внесения в них новых данных. Удалить устаревшие значения в таблице тем дольше и сложнее, чем старее версия Excel, чем больше таблица и чем больше промежуточных расчетов и результатов в этой таблице. Как сделать это быстро?

Чтобы было понятно о чем пойдет речь, вспомним, что ячейка — это часть табличного пространства, образованная пересечением строки и столбца. Ячейка может содержать какие-то значения, например числа, текст, формулы и так далее, а также может содержать информацию о шрифтах, их цветах и размерах, заливках, рамках, защите и так далее. Таким образом, удалять можно как сами ячейки со всем их содержимым (при этом место удаленной ячейки занимает новая, а всё табличное пространство смещается либо вверх, либо влево) так и часть информации, например только значения или только форматы. В этой публикации речь пойдет об удалении значений, когда сами ячейки остаются на своих местах и информация об их форматах остается неизменной.

Стандартные средства для удаления значений ячеек

Представим (либо посмотрим на видео ниже), что на рабочем листе Excel расположена таблица. В этой таблице шапка и некоторые столбцы, содержат различные текстовые значения, основное пространство таблицы содержит ячейки с числовыми значениями, которые в свою очередь участвуют в расчетах, определенных формулами. К примеру, необходимо удалить из этой таблицы только числа, не удаляя при этом формулы, или только текст, не удаляя при этом числа и всё остальное.

Для того чтобы очистить место в таблице для внесения новых значений можно выделять поочередно нужные диапазоны ячеек и нажимать кнопку «Delete» на клавиатуре, как говорится, медленно, но верно. Проделав такую операцию полтора десятка раз невольно появляется вопрос «а можно ли как-нибудь быстрее?». Конечно можно! Даже нужно. В Microsoft Excel 2007 и выше для этих целей подойдет такой инструмент как «Выделение группы ячеек». Для этого выбираем на ленте Excel вкладку «Главная», переходим в группу «Редактирование», нажимаем кнопку «Найти и выделить» и выбираем команду «Выделение группы ячеек». Появляется одноименное диалоговое окно, при помощи которого можно выделить определенные ячейки таблицы и после этого удалить их значения.

vyborochnoe-vydelenie-yacheek-excel

Выделение группы ячеек производится последовательно, нельзя например одновременно выделить и константы и формулы. Так уже гораздо быстрее, не правда ли? Но и это не предел. Все-таки удаление происходит в два этапа, сначала выделяем, затем удаляем. Если таблицы на разных листах и их много, то и с таким способом можно провозиться достаточно долго. В Excel 2003 выделение группы ячеек вообще не предусмотрено и в этой версии без дополнительных инструментов не обойтись.

Дополнительные инструменты для выборочного удаления значений

В некоторых случаях ускорить выборочное удаление значений ячеек поможет надстройка, которая легко устанавливается и запускается одним нажатием кнопки, выведенной прямо в главное меню. Надстройка позволяет удалять значения из ячеек с числами, с текстом, с формулами, с примечаниями, с заливкой, с рамками, как по раздельности, так и в любых сочетаниях. Кроме того предусмотрен выбор диапазона для удаления значений. Возможен используемый диапазон (с первой до последней заполненной ячейки), используемые диапазоны (используемый диапазон на каждом листе активной рабочей книги), выделенный пользователем диапазон, а также выделенный диапазон, но на каждом листе рабочей книги.

Использование надстройки позволяет:

1. выборочно удалять значения из ячеек с числами, с текстом, с формулами, с датами, ячеек содержащих примечания, цветную заливку, цветной шрифт, границы;

2. проводить выборочное удаление значений из ячеек используемых диапазонов, предварительно выделенных диапазонов, диапазонов, выбранных вручную, а также столбцов с заданными именами;

3. осуществлять очистку ячеек от значений на видимых, скрытых, непустых листах, листах с заданными именами, с заданными номерами, с заданным значением в определенном диапазоне, а также на всех листах рабочей книги Excel.

Видео по работе с надстройкойsmotret-video

kak udalit znacheniya yacheek v Excel

CompleteSolutionмакрос (надстройка) для выборочного удаления значений из ячеек

Видео по выборочному удалению значений ячеек

Другие материалы по теме:

 

sashgera

Пользователь

Сообщений: 83
Регистрация: 01.01.1970

#1

16.04.2014 00:28:25

Здравствуйте
Есть макрос, который удаляет строки, если в столбце ‘B’ имеются числа от 0 до 100

Код
Sub Макрос22()
Dim sh As Worksheet, i As Long
Set sh = Sheets("Лист1")
With sh.UsedRange.Columns(2)
     For i = .Rows.Count To 1 Step -1
         With .Cells(i)
             If 0 <= CLng(Trim$(.Value)) And CLng(Trim$(.Value)) <= 100 Then .EntireRow.Delete
         End With
     Next i
End With
End Sub
 

Помогите, пожалуйста, изменить код макроса, что бы строки удалялись, начиная со строки  ‘B2’ и до последней активной ячейки этого столбца (строки в таблице добавляются/удаляются).
Если в ячейке вместо числа имеется знак № – то строку не удалять
..и как все сделать наоборот: не удалять строки, если в ячейках числа от 0 до 100, а остальные удалить. Если в ячейке вместо числа имеется знак № – то строку не удалять

Прикрепленные файлы

  • test.xlsm (18.34 КБ)

 

Scripter

Пользователь

Сообщений: 255
Регистрация: 06.02.2014

#2

16.04.2014 02:06:57

просто изменить  For i = .Rows.Count To 1 Step -1 на To2

но ваш код будет выдавать ошибку в случае конвертации пустой ячейки в Cnlg,
на всякий случай подправил для вашего примера

Код
Dim sh As Worksheet, i As Long
Set sh = Sheets("Лист1")
On Error Resume Next
With sh.UsedRange.Columns(2)
   For i = .Rows.Count To 2 Step -1
        If CLng(IIf(Cells(i, 2).Value = "", 0, Trim(Cells(i, 2).Value))) >= 0 And _
           CLng(IIf(Cells(i, 2).Value = "", 0, Trim(Cells(i, 2).Value))) <= 100 Then
            If Err.Number <> 13 Then
                Rows(i).Delete
            Else
                Err.Clear
            End If
        End If
     Next i
End Withлибо еще проще

либо еще проще

Код
Dim sh As Worksheet, i As Long
Set sh = Sheets("Лист1")
With sh.UsedRange.Columns(2)
     For i = .Rows.Count To 2 Step -1
        If Cells(i, 2).Value <> "№" And Val(Cells(i, 2).Value) >= 0 And Val(Cells(i, 2).Value) <= 100 Then Rows(i).Delete
     Next i
End With
 

Изменено: Scripter16.04.2014 02:29:27

 

sashgera

Пользователь

Сообщений: 83
Регистрация: 01.01.1970

Scripter,
спасибо, а как сделать наоборот — не удалять строки, если в ячейках числа от 0 до 100, а остальные, от 100 и выше — удалить. И в обоих случаях не удалять строки, если в ячейке вместо числа имеется знак №

Изменено: sashgera16.04.2014 02:30:56

 

Scripter

Пользователь

Сообщений: 255
Регистрация: 06.02.2014

#4

16.04.2014 02:30:32

Цитата
sashgera пишет: не удалять строки, если в ячейках числа от 0 до 100,
Код
Dim sh As Worksheet, i As Long
Set sh = Sheets("Лист1")
With sh.UsedRange.Columns(2)
     For i = .Rows.Count To 2 Step -1
     If Val(Cells(i, 2).Value) > 100 Then Rows(i).Delete
     Next i
End With 

Изменено: Scripter16.04.2014 08:56:06

 

sashgera

Пользователь

Сообщений: 83
Регистрация: 01.01.1970

Scripter, большое спасибо, все отлично работает!

 

sashgera

Пользователь

Сообщений: 83
Регистрация: 01.01.1970

#6

16.04.2014 03:13:19

Scripter,

только что заметил, не удаляются пустые ячейки,
а в  ячейках, где стоит знак № — все нормально, они не удаляются
если можно поправьте

Код
Dim sh As Worksheet, i As Long
Set sh = Sheets("склад")
With sh.UsedRange.Columns(2)
     For i = .Rows.Count To 5 Step -1
     If Val(Cells(i, 2).Value) > 100 Then Rows(i).Delete
     Next i
End With
 

 [USER=11992][/USER]

 

Scripter

Пользователь

Сообщений: 255
Регистрация: 06.02.2014

#7

16.04.2014 03:38:25

Цитата
sashgera пишет: не удаляются пустые ячейки

добавил проверку на пустые ячейки

Код
Dim sh As Worksheet, i As Long
Set sh = Sheets("склад")
With sh.UsedRange.Columns(2)
   For i = .Rows.Count To 5 Step -1
        If Val(Cells(i, 2).Value) > 100 Or Cells(i, 2).Value = "" Then Rows(i).Delete 
   Next i 
End With

проверка на пустые может быть выполнена разными вариантами:

Cells(i, 2).Value = «»
Cells(i, 2).Value = empty
IsEmpty(Cells(i, 2).Value)

 

sashgera

Пользователь

Сообщений: 83
Регистрация: 01.01.1970

 

sashgera

Пользователь

Сообщений: 83
Регистрация: 01.01.1970

#9

17.04.2014 01:32:16

Scripter, я немного изменил макрос, все работает

УДАЛЯЕМ строку если в ячейке столбца «B» есть число: от 0 до 399
НЕ УДАЛЯЕМ строку если в ячейке столбца «B» есть буква: k
НЕ УДАЛЯЕМ строку если в ячейке столбца «B» есть слово: стал
НЕ УДАЛЯЕМ строку если ячейка столбца «B»- пустая
также макрос удаляет строки если в ячейке столбца «B» есть какой либо текст, кроме ‘k’ и ‘стал’

Код
Sub Макрос22()  
Dim sh As Worksheet, i As Long  
Set sh = Sheets("склад")  
With sh.UsedRange.Columns(2)  
For i = .Rows.Count To 4 Step -1  
If Cells(i, 2).Value <> "k" And Cells(i, 2).Value <> "стал" And Cells(i, 2).Value <> "" And Val(Cells(i, 2).Value) <= 399 Then Rows(i).Delete  
     Next i  
End With  
End Sub 
 

не получается сделать аналогичный макрос
1. НЕ УДАЛЯЛАСЬ строка если в ячейке столбца «B» есть буква: b
2. НЕ УДАЛЯЛАСЬ строка если в ячейке столбца «B» есть слово: стал
3. НЕ УДАЛЯЛАСЬ строка если ячейка столбца «B»- пустая
4. УДАЛЯЛАСЬ строка если в ячейке столбца «B» есть число: от 400 и выше
5. УДАЛЯЛАСЬ строка если в ячейке столбца «B» есть какой либо текст, кроме ‘b’ и ‘стал’
пробовал так, все выполняется, кроме одного — макрос не удаляет строки если в ячейке столбца «B» есть текст

Код
If Cells(i, 2).Value <> "b" And Cells(i, 2).Value <> "стал" And Cells(i, 2).Value <> "" And Val(Cells(i, 2).Value) > 399 Then Rows(i).Delete
 

если можно, пожалуйста, помогите

Прикрепленные файлы

  • test.xlsm (18.34 КБ)

Изменено: sashgera17.04.2014 01:39:50

 

Scripter

Пользователь

Сообщений: 255
Регистрация: 06.02.2014

#10

17.04.2014 04:38:28

так

Код
Sub Макрос5()
Dim sh As Worksheet, i As Long
Set sh = Sheets("склад")
With sh.UsedRange.Columns(2)
For i = .Rows.Count To 2 Step -1
If ((Not IsNumeric(Cells(i, 2).Value) And Cells(i, 2).Value <> "b" And Cells(i, 2).Value <> "стал") _
    Or Val(Cells(i, 2).Value) >= 400) And Cells(i, 2).Value <> "" Then Rows(i).Delete
     Next i
End With
End Sub
 

sashgera

Пользователь

Сообщений: 83
Регистрация: 01.01.1970

#11

17.04.2014 09:26:13

Scripter, спасибо!

Макрос удаления значений из диапазона по вводу списка

svetonosniy

Дата: Четверг, 21.12.2017, 08:22 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 12


Репутация:

0

±

Замечаний:
0% ±


Excel 2003

Доброго времени суток! Не могу найти нужную информацию, честно облазил весь форум. Требуется решить следующую задачу: имеется файл со множеством значений в одном столбце. Нужен макрос, который будет из выделенного диапазона удалять значения, которые введены или где либо заданы (ввод удаляемых значений может быть любым). На примере: в файле столбец B имеет множество значений, для простоты введем следующие:
значение 1
значение 2
значение 3
значение 2_1
значение 3_2
значение 1_3
значение 2_2
значение 3_1

В один прекрасный день появилась необходимость среди них из диапазона со строки 2 по строку 8 найти удалить следующие:
значение 3
значение 1_3

Нужен именно макрос, так как значений около 20000, требуется удалять штук по 50 из диапазонов, содержащих 100-1000 значений

Очень надеюсь на вашу помощь! В примере файла думаю смысла нет, но прикреплю на всякий случай то, что описал вsit

 

Ответить

китин

Дата: Четверг, 21.12.2017, 09:05 |
Сообщение № 2

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

как то так, наверное. то что удалять в желтой ячейке(выпадающий список) . и нажать кнопочку
[vba]

Код

Sub TTT()
Dim Lr&, i&
Lr = Cells(Rows.Count, 3).End(xlUp).Row
    For i = Lr To 2 Step -1
        If Cells(i, 3).Value = Cells(1, 6).Value Then
            Range(«C» & i).Delete Shift:=xlUp
        End If
     Next
End Sub

[/vba]


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

Сообщение отредактировал китинЧетверг, 21.12.2017, 09:05

 

Ответить

svetonosniy

Дата: Четверг, 21.12.2017, 09:35 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 12


Репутация:

0

±

Замечаний:
0% ±


Excel 2003

китин, спасибо, похоже, но не совсем, я наверное немного не так выразился. Удалять надо не поштучно, а списком, массивом. Указывать массив — и чтобы удалялись перечисленные значения при совпадении с диапазоном имеющихся значений

 

Ответить

sboy

Дата: Четверг, 21.12.2017, 10:39 |
Сообщение № 4

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2566


Репутация:

724

±

Замечаний:
0% ±


Excel 2010

Подправил макрос Игоря.
Выделяем список для удаления и жмем кнопку
[vba]

Код

Sub TTT()
Dim arr_() ‘ переменная массив значений для удаления
Application.ScreenUpdating = False
Set r = Selection
    If Not r Is Nothing Then
        If r.Count = 1 Then ‘если выделена 1 ячейка
            ReDim arr_(1 To 1, 1 To 1) ‘ объявляем двумерный массив 1 на 1 для работы цикла ниже
            arr_(1, 1) = r.Value ‘ записываем единственное значение
        Else: arr_ = r.Value  ‘ если выделено больше 1 ячейки, то записываем значения в массив
        End If
        For x = 1 To UBound(arr_) ‘цикл по элементам массива
            For i = Cells(Rows.Count, 3).End(xlUp).Row To 1 Step -1 ‘цикл по строкам где надо удалять
                If Cells(i, 3).Value = arr_(x, 1) Then Range(«C» & i).Delete Shift:=xlUp ‘если значение из массива совпадает с ячейкой — удаляем
            Next i
        Next x
    End If
Application.ScreenUpdating = True
End Sub

[/vba]

К сообщению приложен файл:

4106102.xlsm
(21.2 Kb)


Яндекс: 410016850021169

Сообщение отредактировал sboyЧетверг, 21.12.2017, 11:27

 

Ответить

svetonosniy

Дата: Четверг, 21.12.2017, 10:44 |
Сообщение № 5

Группа: Пользователи

Ранг: Новичок

Сообщений: 12


Репутация:

0

±

Замечаний:
0% ±


Excel 2003

sboy, кажется то что надо! Спасибо, буду тестировать!

 

Ответить

китин

Дата: Четверг, 21.12.2017, 11:10 |
Сообщение № 6

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

Сергей а прокомментировать код можно?
pray pray pray


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

sboy

Дата: Четверг, 21.12.2017, 11:28 |
Сообщение № 7

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2566


Репутация:

724

±

Замечаний:
0% ±


Excel 2010

Игорь, написал в коде из сообщения выше


Яндекс: 410016850021169

 

Ответить

nilem

Дата: Четверг, 21.12.2017, 12:48 |
Сообщение № 8

Группа: Авторы

Ранг: Старожил

Сообщений: 1612


Репутация:

563

±

Замечаний:
0% ±


Excel 2013, 2016

Вариант:
[vba]

Код

Sub ttt()
Dim arr
With Range(«F1», Cells(Rows.Count, 6).End(xlUp))
    arr = Application.Transpose(.Value)
End With
With Range(«C1», Cells(Rows.Count, 3).End(xlUp))
    .AutoFilter 1, arr, 7
    .Offset(1).Delete Shift:=xlUp
    .AutoFilter
End With
End Sub

[/vba]


Яндекс.Деньги 4100159601573

 

Ответить

Понравилась статья? Поделить с друзьями:
  • Макросы в excel только в одном столбце
  • Макросы в excel объединение таблиц в одну
  • Макросы в excel обучение с нуля
  • Макросы в excel обучение для начинающих бесплатно
  • Макросы в excel не могу удалить