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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2012, 22:29   #1
Bocul
Пользователь
 
Регистрация: 23.06.2012
Сообщений: 38
Восклицание Макрос выполняет действия по замене и считает кол-во значений

Здравствуйте.
Помогите пожалуйста сделать макрос.

Требуется
1. требуется на каждом листе (книге) в столбце F заменить (или удалить) символы [1], [2], [3] [4] [5] [6] [7] [8] [9] [10] на пустоту, а так же символ "-" заменить на 50
2. посчитать кол-во значений в столбце F
3. посчитать сколько значений в столбце F, которое меньше 5

Исходные данные
Снимок_1.JPG

Результат

Снимок_2.JPG
Bocul вне форума Ответить с цитированием
Старый 28.06.2012, 01:17   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Картинкой на картинку.
Изображения
Тип файла: jpg 005.jpg (59.0 Кб, 101 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 28.06.2012, 21:35   #3
Bocul
Пользователь
 
Регистрация: 23.06.2012
Сообщений: 38
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Картинкой на картинку.
Спасибо, ценю вашу помощь и юмор.

1. можно обычным Arial выложить код?
2. поправьте ошибку если не сложно.


Код:
Sub macros()
Public Function AdobePhtosop(ByVals) As String
bRes = faloe
Set RegExp = CreateObject("VBSript.RegExp")
RegExp.Global = True
RegExp.ignoreCase = True
RegExp.Pattern = "[][]\d{1,2}[][]"
bRes = RegExp.test(s)
For Each cMatches In RegExp.Execute(s)
s = Replace(s, cMatches, "")
Next
AdobePhotoshop = Replace(s, "-", 50)

End Function
End Sub
не работает код(((

Последний раз редактировалось Bocul; 28.06.2012 в 21:55.
Bocul вне форума Ответить с цитированием
Старый 28.06.2012, 21:40   #4
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от Bocul Посмотреть сообщение
...ценю вашу помощь и юмор...
Не заметно...

Цитата:
Сообщение от Bocul Посмотреть сообщение
1. можно обычным Arial выложить код?
А что, другой шрифт, по-Вашему, по-другому исполняться будет?!

Цитата:
Сообщение от Bocul Посмотреть сообщение
1. можно обычным Arial выложить код?
Что же Вы обычным Excel файлом задачу не выложили?
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 28.06.2012, 21:50   #5
Bocul
Пользователь
 
Регистрация: 23.06.2012
Сообщений: 38
По умолчанию

Цитата:
Сообщение от Serge 007 Посмотреть сообщение
Не заметно...

А что, другой шрифт, по-Вашему, по-другому исполняться будет?!

Что же Вы обычным Excel файлом задачу не выложили?


Выкладываю файл (извиняюсь мой косяк).
Просто с таким шрифтом не понятно, как даже списывать)))

пример.zip

Последний раз редактировалось Bocul; 28.06.2012 в 21:55.
Bocul вне форума Ответить с цитированием
Старый 28.06.2012, 23:12   #6
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Классная матрешка получилась.Функцию на процедуру одели
Код:
Public Function AdobePhtosop(ByVal s) As String
        bRes = False
        Set RegExp = CreateObject("VBScript.RegExp")
        RegExp.Global = True
        RegExp.IgnoreCase = True
        RegExp.Pattern = "[[]\d{1,2}[]]"
        bRes = RegExp.test(s)
        For Each cMatches In RegExp.Execute(s)
                s = Replace(s, cMatches, "")
        Next
        AdobePhtosop = Replace(Replace(s, "-", 50), Chr(160), "")
End Function

Sub matreshka()
        With ActiveSheet
                For n = 1 To .Cells(.Rows.Count, 7).End(xlUp).Row
                        .Cells(n, 7) = AdobePhtosop(.Cells(n, 7))
                Next
        End With
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать резидентную программу которая выполняет опредилённые действия: Светочик Помощь студентам 8 03.03.2012 17:40
Написать программу, которая выполняет следующие действия: INFINITIFX Visual C++ 2 21.09.2011 20:56
Макрос не выполняет, то что записал valerij Microsoft Office Excel 21 16.11.2010 23:41
Нужен макрос Excel по поиску и замене Михалыч01 Microsoft Office Excel 2 06.11.2008 18:03