|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.11.2015, 10:04 | #1 |
Пользователь
Регистрация: 24.11.2015
Сообщений: 17
|
перенос чисел по ячейкам, проверка по всем листам книги
здравствуйте есть проблема, с макросами я на вы .
1)есть 2 одинаковые строки допустим 4 и 5 , в столбце Н есть числа но они иногда дублируются, в столбце I тоже самое только там записаны слова. Есть макрос который удаляет повторяющуюся строку, но проблема в том что во второй повторяющейся строке в столбце R есть число которое нужно с 5 строки перекинуть на 4 и проделать это со всеми повторяющимися строками во всех листах книги . 2)есть вторая проблемка нужно сделать проверку по всем листам книги и также удалять повторяющиеся строки с переносом числа, листов там порядка 20-30 а у меня проверяет только по первому листу помогите пожалуйста разобраться с этими проблемами , заранее большое спасибо ) вот макрос который удаляет одинаковые строки Dim Start As Long, Finish As Long Start = 2: col = 9 Application.ScreenUpdating = False With ActiveSheet(.Rows.Count, col).End(xlUp).Row Finish = .Cells(.Rows.Count, col).End(xlUp).Row Set Rng = .Range(.Cells(Start, col), .Cells(Finish, col)) For i = Finish To Start Step -1 If Application.CountIf(Rng, Cells(i, col)) > 1 Then Rows(i).Delete Next i End With Application.ScreenUpdating = True Последний раз редактировалось alex241v; 24.11.2015 в 10:42. |
24.11.2015, 10:36 | #2 | |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
Цитата:
точно такая конструкция работает? Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. Последний раз редактировалось Aleksandr H.; 24.11.2015 в 10:42. |
|
24.11.2015, 10:45 | #3 |
Пользователь
Регистрация: 24.11.2015
Сообщений: 17
|
|
24.11.2015, 10:51 | #4 |
Пользователь
Регистрация: 24.11.2015
Сообщений: 17
|
|
24.11.2015, 10:53 | #5 |
Пользователь
Регистрация: 24.11.2015
Сообщений: 17
|
к сожалению не могу файлом кинуть код ,а когда копирую то формат текста меняется
Последний раз редактировалось alex241v; 24.11.2015 в 10:56. |
24.11.2015, 10:58 | #6 |
Пользователь
Регистрация: 24.11.2015
Сообщений: 17
|
это конечный кусок макроса
как видите почти ничего не понятно 'ïðè íàæàòèè êíîïêè ôàéëû íå èç ìýïïèíãà íå îòîáðàæàþòñÿ If CheckBox2.Value = True Then For Each wsheet In ActiveWorkbook.Worksheets Sheets(wsheet.Name).Select Start = 2: col = 8 With ActiveSheet With ActiveSheet(.Rows.Count, col).End(xlUp).Row Set Rng = .Range(.Cells(Start, col), .Cells(Finish, col)) For i = Finish To Start Step -1 If Application.CountIf(Rng, Cells(i, col)) < 1 Then Rows(i).Delete Next i End With End With Next wsheet End If If flac = 0 Then 'Ñîõðàíåíèå êíèãè ñ äàííûìè ÒÍÏ ActiveWorkbook.SaveAs "Äàííûå ÒÍÏ íà " & Date & ".xlsx" Else ActiveWorkbook.SaveAs "Îáùàÿ.. ÒÍÏ íà " & Date & ".xlsx" End If Const sPath_in_Names = "Path4SaveCopyAs" ' èìÿ ýëåìåíòà êîëëåêöèè .Names, â êîòîðîì äîëæåí õðàíèòüñÿ ïóòü äëÿ ñîõðàíåíèÿ êîïèé ôàéëà Dim sDirPath$, sExp$, sMainName$, FileName With ActiveWorkbook On Error Resume Next sDirPath = .Names(sPath_in_Names).Value ' ñ÷èòàòü èç êîëëåêöèè .Names çíà÷åíèå, ðàíåå ñîõðàíåííîå ïîä èìåíåì sPath_in_Names If Err Then .Names.Add sPath_in_Names, .Path & "\": sDirPath = .Path & "\" ' åñëè ñ÷èòàòü íå óäàëîñü, çíà÷èò ïóòü ðàíåå íå çàäàâàëñÿ è îí äëÿ ïåðâîãî ðàçà çàäà¸òñÿ ðàâíûì ActiveWorkbook.Path sDirPath = Mid(sDirPath, 3, Len(sDirPath) - 3) ' óáðàòü èç ñ÷èòàííîãî çíà÷åíèÿ â íà÷àëå "= è â êîíöå " sDirPath = sDirPath & IIf(Right(sDirPath, 1) = "\", "", "\") ' íà âñÿêèé ñëó÷àé (åñëè èìÿ áûëî çàäàíî â ðó÷íóþ è ïðè ýòîì íå âåðíî - áåç ñëýøà) .Names(sPath_in_Names).Value = sDirPath ' çàïîìíèòü ïóòü ñîõðàíåíèÿ êîïèé â êîëëåêöèè .Names ïîä èìåíåì sPath_in_Names sExp = Right(.Name, Len(.Name) - InStrRev(.Name, ".") + 1) ' ðàñøèðåíèå ôàéëà âìåñòå ñ òî÷êîé (íàïðèìåð, ".xls") sMainName = Left(.Name, Len(.Name) - Len(sExp)) Do FileName = sDirPath & sMainName & "(" & i & ")" & sExp: i = i + 1 Loop While Dir(FileName) <> "" ' ïîêà èìÿ íå áóäåò óíèêàëüíûì â ïàïêå FileName = Application.GetSaveAsFilename(Initi alFileName:=FileName, _ FileFilter:="Excel Files (*" & sExp & "), *" & sExp & ", All Files (*.*),*.*", _ Title:="Ñîõðàíåíèå êîïèè ôàéëà") 'çàäàòü ïóòü ñîõðàíåíèÿ è èìÿ êîïèè ôàéëà â îêíå âûáîðà If VarType(FileName) = vbBoolean Then Exit Sub ' åñëè íàæàëè "Îòìåíà", òî FileName = False, åñëè "Ñîõðàíèòü" - ïîëíûé ïóòü ê ôàéëó âìåñòå ñ åãî èìåíåì sDirPath = Left(FileName, InStrRev(FileName, "\")) ' ïóòü ê ïàïêå ñîõðàíåíèÿ êîïèé áåç èìåíè ôàéëà .Names(sPath_in_Names).Value = sDirPath ' çàïîìíèòü âûáðàííûé â äèàëîãå ïóòü â êîëëåêöèè .Names ïîä èìåíåì sPath_in_Names .SaveCopyAs FileName End With ActiveWorkbook.Close 'çàêðûâàåì äàííóþ êíèãó MsgBox "Âûïîëíåíî!" ' çàêðûâàåì âñå êíèãè, êðîìå òîé, èç êîòîðîé çàïóùåí ìàêðîñ. Çàêðûòèå áåç ñîõðàíåíèÿ Dim wb As Workbook: Application.ScreenUpdating = False For Each wb In Workbooks ' ïåðåáèðàåì âñå îòêðûòûå êíèãè If Not wb Is ThisWorkbook Then 'If wb.Windows(1).Visible Then wb.Close 'End If End If Next wb Application.DisplayAlerts = False Application.AskToUpdateLinks = False 'ActiveWorkbook.Close ' If Not appExl Is Nothing Then ' appExl.Quit ' Set appExl = Nothing ' End If 'End Application.ScreenUpdating = Tru |
24.11.2015, 11:41 | #7 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
в редакторе ВБА, перейдите на русскую раскладку, отметьте что нужно, копируйте, вставляйте сюда, Код заключите в тэги код #
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
24.11.2015, 11:57 | #8 |
Пользователь
Регистрация: 24.11.2015
Сообщений: 17
|
Код:
|
24.11.2015, 11:57 | #9 |
Пользователь
Регистрация: 24.11.2015
Сообщений: 17
|
Код:
|
24.11.2015, 11:58 | #10 |
Пользователь
Регистрация: 24.11.2015
Сообщений: 17
|
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Копирование (перенос) данных из одной книги в другую по ячейкам | Mpgeshka | Microsoft Office Excel | 42 | 16.07.2015 13:16 |
Поиск данных по всем листам | Настя Белова | Помощь студентам | 2 | 28.03.2014 19:59 |
Поиск данных по всем листам книги | demon_81 | Microsoft Office Excel | 0 | 20.01.2010 11:28 |
Окно для поиска ячейки по всем листам. | TiG | Microsoft Office Excel | 10 | 07.11.2009 10:20 |
Цикл по листам и ячейкам | motorway | Microsoft Office Excel | 1 | 03.07.2009 11:05 |