1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 |
Sub Макрос1() ' ' Макрос1 Макрос ' Макрос записан 20.01.2014 (Владимир) ' ' Сочетание клавиш: Ctrl+ф ' Range("E2").Select Selection.Copy Range("J2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("E2").Select Application.CutCopyMode = False Selection.Copy Range("K2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("L2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("M2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("N2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("O2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("P2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("Q2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("R2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("S2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveWindow.SmallScroll ToRight:=13 Range("T2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("U2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("V2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("W2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("X2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("Y2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("Z2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AA2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AB2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AC2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AD2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AE2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AF2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveWindow.SmallScroll ToRight:=18 Range("AG2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AH2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AI2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AJ2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AK2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AL2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AM2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AN2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AO2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AP2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AQ2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AR2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AS2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AT2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AU2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AV2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AW2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AX2").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False ActiveWindow.SmallScroll ToRight:=4 Range("AX2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AY2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("AZ2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BA2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BB2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveWindow.SmallScroll ToRight:=9 Range("BC2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BD2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BE2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BF2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BG2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BH2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BI2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BJ2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BK2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveWindow.SmallScroll ToRight:=7 Range("BL2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BM2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BN2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BO2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BP2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BQ2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BR2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BS2").Select ActiveWindow.SmallScroll ToRight:=5 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BT2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BU2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BV2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BW2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveWindow.SmallScroll ToRight:=17 Range("BX2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BY2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("BZ2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("CA2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("CB2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("CC2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("CD2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("CE2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("CF2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("CG2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("CH2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("CI2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("CJ2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("CK2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("CL2").Select ActiveWindow.LargeScroll ToRight:=-4 Range("J2:CK16349").Select Application.CutCopyMode = False Selection.Cut Destination:=Range("J3:CK16350") Range("J3:CK16350").Select End Sub |
Подскажите пожалуйста. Как зациклить макрос Excel? так нужно пройти до 3000 строк. Спасибо
Sub Макрос3()
‘
‘ Макрос3 Макрос
‘‘
ActiveCell.FormulaR1C1 = «0»
Range(«A14»).Select
ActiveCell.FormulaR1C1 = «0»
Range(«A15»).Select
ActiveCell.FormulaR1C1 = «0»
Range(«A16»).Select
ActiveCell.FormulaR1C1 = «0»
Range(«A17»).Select
ActiveCell.FormulaR1C1 = «0»
Range(«A18»).Select
ActiveCell.FormulaR1C1 = «0»
Range(«A19»).Select
ActiveCell.FormulaR1C1 = «0»
Range(«A20»).Select
ActiveCell.FormulaR1C1 = «0»
Range(«A21»).Select
ActiveCell.FormulaR1C1 = «0»
Range(«A22»).Select
ActiveCell.FormulaR1C1 = «0»
Range(«A23»).Select
ActiveCell.FormulaR1C1 = «0»
Range(«A24»).Select
End Sub
You can actually reduce your code.
First Tip:
Please avoid the use of .Select/.Activate
INTERESTING READ
Second Tip:
Instead of doing an Autofill, you can enter the formula in the relevant cells in one go. For example. this
Range("G2").Select
ActiveCell.FormulaR1C1 = "=RC[-2]/RC[-1]*100"
Range("G2").Select
Selection.AutoFill Destination:=Range("G2:G19"), Type:=xlFillDefault
can be written as
Range("G2:G19").FormulaR1C1 = "=RC[-2]/RC[-1]*100"
Third Tip:
You don’t need to do a copy and paste in separate lines. You can do it in one line. For example
Range("A2:C2").Select
Selection.Copy
Sheets("Sheet2_Transposed data").Select
Range("A2").Select
ActiveSheet.Paste
can be written as
Range("A2:C2").Copy Sheets("Sheet2_Transposed data").Range("A2")
Same thing when you are doing a PasteSpecial. But you use .Value = .Value
soo this
Range("G2:G19").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1_Transposed_data").Select
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
can be written as
Sheets("Sheet1_Transposed_data").Range("D2:D19").Value = _
Sheets("Sheet1").Range("G2:G19").Value
Missed the Transpose
part. (Thanks Simoco). In this case, you can write the code as
Range("A2:C2").Copy
Sheets("Sheet2_Transposed data").Range("D2").PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Fourth Tip:
To loop through cells, you can use a For Loop
. Say you want to loop though cells A2
to A20
then you can do like this
For i = 2 To 20
With Range("A" & i)
'
'~~> Do Something
'
End With
Next i
EDIT:
Your before and after Screenshots (From Comments):
and
After seeing your screenshots, I guess this is what you are trying? This is untested as I just quickly wrote it. Let me know if you get any errors
Sub test()
Dim wsInPut As Worksheet, wsOutput As Worksheet
Dim lRow As Long, NewRw As Long, i As Long
'~~> Set your sheets here
Set wsInPut = ThisWorkbook.Sheets("Sheet1_session_data")
Set wsOutput = ThisWorkbook.Sheets("Sheet2_Transposed data")
'~~> Start row in "Sheet2_Transposed data"
NewRw = 2
With wsInPut
'~~> Find Last Row
lRow = .Range("A" & .Rows.Count).End(xlUp).Row
'~~> Calculate the average in one go
.Range("G2:G" & lRow).FormulaR1C1 = "=RC[-2]/RC[-1]*100"
'~~> Loop through the rows
For i = 2 To lRow Step 18
wsOutput.Range("A" & NewRw).Value = .Range("A" & i).Value
wsOutput.Range("B" & NewRw).Value = .Range("B" & i).Value
wsOutput.Range("C" & NewRw).Value = .Range("C" & i).Value
.Range("G" & i & ":G" & (i + 17)).Copy
wsOutput.Range("D" & NewRw).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
NewRw = NewRw + 1
Next i
wsOutput.Range("D2:U" & (NewRw - 1)).NumberFormat = "0"
End With
End Sub
При работе с Microsoft Excel вам может потребоваться создание макросов для выполнения некоторых операций. Например, вы хотите создать макрос для автоматического копирования диапазона данных в новое место. Поскольку данные будут часто меняться, вам необходимо, чтобы этот макрос запускался автоматически каждые 5 минут без его ручного запуска, чтобы синхронизировать эти два диапазона данных. Как этого добиться? Метод, описанный в этой статье, может вам помочь.
Повторять или зацикливать макрос каждые X минут в Excel
Повторять или зацикливать макрос каждые X минут в Excel
Следующий код VBA может помочь вам повторять макрос каждые X минут в Excel. Пожалуйста, сделайте следующее.
1. Нажмите другой + F11 в то же время, чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окно, пожалуйста, нажмите Вставить > Модули. Затем скопируйте и вставьте приведенный ниже код VBA в Code окно. Смотрите скриншот:
Код VBA: повторять или зацикливать макрос каждые X минут в Excel
Sub ReRunMacro()
Dim xMin As String
'Insert your code here
xMin = GetSetting(AppName:="Kutools", Section:="Macro", Key:="min", Default:="")
If xMin = "Exit" Then
SaveSetting "Kutools", "Macro", "min", "False"
Exit Sub
End If
If (xMin = "") Or (xMin = "False") Then
xMin = Application.InputBox(prompt:="Please input the interval time you need to repeat the Macro", Title:="Kutools for Excel", Type:=2)
SaveSetting "Kutools", "Macro", "min", xMin
End If
If (xMin <> "") And (xMin <> "False") Then
Application.OnTime Now() + TimeValue("0:" + xMin + ":0"), "ReRunMacro"
Else
Exit Sub
End If
End Sub
Внимание: В коде замените эту строку ‘Вставьте сюда свой код с кодом вы будете запускаться каждые X минут.
3. нажмите F5 ключ для запуска кода. В всплывающем Kutools for Excel диалоговое окно, введите интервал времени, в течение которого будет повторяться макрос, а затем нажмите кнопку OK кнопка. Смотрите скриншот:
С этого момента определенный макрос будет запускаться в вашей книге каждые 5 минут.
Внимание: Если вам нужно остановить выполнение макроса и изменить интервал цикла, скопируйте приведенный ниже код VBA в тот же Модули окно и нажмите F5 ключ для запуска кода. После этого макрос будет остановлен. Повторите приведенный выше код, чтобы указать новый интервал.
Код VBA: остановить выполнение макроса
Sub ExitReRunMacro()
SaveSetting "Kutools", "Macro", "min", "Exit"
End Sub
Office Tab — Просмотр, редактирование и управление книгами в Excel с вкладками:
Вкладка Office предоставляет интерфейс с вкладками, как в веб-браузерах, таких как Google Chrome, новые версии Internet Explorer и Firefox в Microsoft Excel. Он станет незаменимым помощником в работе и сэкономит время. См. Демонстрацию ниже:
Нажмите, чтобы получить бесплатную пробную версию вкладки Office!
Статьи по теме:
- Как повторить строки при прокрутке листа в Excel?
- Как повторить последнее или предыдущее действие в Excel?
- Как повторно печатать строки внизу каждой распечатанной страницы в Excel?
- Как повторять значение ячейки, пока новое значение не будет видно или достигнуто в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (31)
Оценок пока нет. Оцените первым!
Есть макрос поиска значения в таблице: Скажите, пожалуйста, как сделать так — чтобы окно после поиска и выделения не закрывалось (просто выделалась найденная ячейка). Тесть чтобы окно с запросом данных выводилось и дальше до момента когда значение не будет найдено, тогда сообщение об ошибке. А если бы ещё сделать так, чтобы когда значение найдено — то в колонке «М» этой же строчки ставилась единичка (для последующей фильтрации). |
|
А выводить новое окно при нахождении искомого слова не подойдет? |
|
Походу подойдет, но как это сделать, я не силен в макросах |
|
ikki Пользователь Сообщений: 9709 |
а зачем вам вообще макросы? фрилансер Excel, VBA — контакты в профиле |
В общем для проведения инвентаризации ОС. Из АБС выгружается список основных средств, на каждом ОС есть наклейка с номером и штрих кодом. С помочью сканера штрих доков нужно каждое ОС «пропикать», потом можно будет по фильтру посмотреть каких ОС нету… |
|
Baklanoff Пользователь Сообщений: 580 |
Дилетантство, знаю. Но все же… Dim FD, firstAddress, adrs |
Не работает. По нажатию кнопки окно с запросом не появляется вообще. |
|
Baklanoff Пользователь Сообщений: 580 |
Пробуйте Sub Finderer() |
Baklanoff Пользователь Сообщений: 580 |
Забыл, сори Sub Finderer() |
Hugo Пользователь Сообщений: 23253 |
Грузите список своих пропиканных в массив->словарь, затем основные в массив->проверка по словарю, запись найденных/ненайденных в массив или коллекцию, выгрузка. |
Baklanoff Большое спасибо за помощь, но не работает |
|
Hugo Хотят, так сказать, в режиме реального времени, пикнули — сразу увидели результат. Если нету сразу — сразу кто то начинает искать, а инвентаризация идет дальше, так как объектов много а времени мало |
|
Baklanoff Пользователь Сообщений: 580 |
|
Hugo Пользователь Сообщений: 23253 |
Ну можно наоборот — сперва список основных средств в публичный словарь, который всё время будет в памяти. |
Baklanoff Пользователь Сообщений: 580 |
|
Lihodej Гость |
#16 27.11.2012 18:34:06 Baklanoff Большое спасибо! Все работает. Ещё такой нескромный вопрос, а можно сделать так, чтобы кода значение в форме поиска не было найдено на листе, тогда после сообщение об отсутствии оно копировалось на другой лист, скажем «не найдено», и поиск производился дальше (форма не закрывалась)? Заранее благодарен за ответ! |