powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / макрос
23 сообщений из 23, страница 1 из 1
макрос
    #32439373
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите пожалуйста!!!!
Извинете может не совсем по теме.
Может кто писал раньше макросы к MS Excel.
У меня есть отчет он заполняется с БД через разные компоненты, проблема в том что мне надо его отредактировать, но невручную а автоматически макросом.

ДО

пользователь ПО
-----------------------------------------
Вася Пупкин 1С Предприятие
Толя Губкин Офис
Толя Губкин 1С Предприятие
Ира Попкина интернет
Ира Попкина порно ресурс
Ира Попкина квака

ПОСЛЕ

пользователь ПО
-----------------------------------------
Вася Пупкин 1С Предприятие
Толя Губкин Офис
1С Предприятие
Ира Попкина интернет
порно ресурс
квака

короче как сделать макрос удаляющий повторы имен этих пользователей если они повторяются в первой колонке
...
Рейтинг: 0 / 0
макрос
    #32439413
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выделяешь 1 колонку,

Код: plaintext
    Columns( "A:A" ).Select


перебираешь последовательно ячейку за ячейкой.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim item
dim state
state= ""
For Each item In Selection
    if state=item.value then
        item.value=" "
    else
        state=item.value
    end if
Next
...
Рейтинг: 0 / 0
макрос
    #32439464
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а можно поподробнее я просто не разу не писал эти самые макросы, мне трудно сореентироваться
...
Рейтинг: 0 / 0
макрос
    #32439500
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поподробнее об этом написано в документации к Excel, и на русском.

По умолчанию эта документация не ставится, может придется установить

Создай макрос через запись, а потом загляни в редактор Visual Basic.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
sub ЧисткаПовторов
Dim item
dim state
Columns( "A:A" ).Select
state= ""
For Each item In Selection
    if state=item.value then
        item.value=" "
    else
        state=item.value
    end if
Next
end sub


Куда уж подробнее
...
Рейтинг: 0 / 0
макрос
    #32439556
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, кажись разобрался
...
Рейтинг: 0 / 0
макрос
    #32439621
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а почему оно мне выдает хрень при инсталяции в виде желтой полосы на
If state = item.Value Then
...
Рейтинг: 0 / 0
макрос
    #32440194
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну ни в какую нехочет он работать может там ошибка, может есть у кого рабочий пример
...
Рейтинг: 0 / 0
макрос
    #32440309
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня все работает.
...
Рейтинг: 0 / 0
макрос
    #32440332
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а у меня ругается
Can't Execute code in break mode
...
Рейтинг: 0 / 0
макрос
    #32440990
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я писал макрос для Excel 2000 -2002,

Если у тебя 97, то может и не работать.
...
Рейтинг: 0 / 0
макрос
    #32442811
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я попробывал это в ХР офисе тоже самое, неработает, может кто подскажет как это сделать подругому, очень надо.
Заранее благодарю
...
Рейтинг: 0 / 0
макрос
    #32442832
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как ругается? На каком месте?

Не понимаю.

Как ты делаешь?
...
Рейтинг: 0 / 0
макрос
    #32442847
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я создал новый макрос

Dim item
dim state
Columns("B:B").Select
state=""
For Each item In Selection
if state=item.value then
item.value=""
else
state=item.value
end if
Next
end sub

при компиляции он выводит желтую линию на условии
а если я пытаюсь запустить его то говорит про несответсвие значения
...
Рейтинг: 0 / 0
макрос
    #32442857
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Public Sub asd()
Dim item As Range
Dim state As String
Columns( "B:B" ).Select
state =  ""
For Each item In Selection
If state = item.Value Then
item.Value = " "
Else
state = item.Value
End If
Next
End Sub

Не понимаю, скопировал себе, у меня работает.
...
Рейтинг: 0 / 0
макрос
    #32442889
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а с какой строки у тебя идет перечисление у меня в переди еще заголовки или это не имеет значения?
...
Рейтинг: 0 / 0
макрос
    #32442900
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
??? Почему заголовок отрезал ???
Dim item 
dim state 
Columns( "B:B" ).Select 
state= "" 
For Each item In Selection 
if state=item.value then 
item.value=" " 
else 
state=item.value 
end if 
Next 
end sub 


И полностью покажи весь макрос
...
Рейтинг: 0 / 0
макрос
    #32442905
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я его только что пытался запустить и его зациклило
...
Рейтинг: 0 / 0
макрос
    #32442914
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sub col()
Dim item As Range
Dim state As String
Columns("B:B").Select
state = ""
For Each item In Selection
If state = item.Value Then
item.Value = ""
Else
state = item.Value
End If
Next

End Sub
это полностью весь макрос
...
Рейтинг: 0 / 0
макрос
    #32442951
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Его не циклит, он добегает до конца страницы и все. А это процесс долгий.
...
Рейтинг: 0 / 0
макрос
    #32442963
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как ему сказать чтоб цикл прекратился при первой пустой строке или ячейке или если мне известно максимальное количество заполненых ячеек
...
Рейтинг: 0 / 0
макрос
    #32442976
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Public Sub asd()
Dim item As Range
Dim state As String
Columns( "B:B" ).Select
state =  ""
For Each item In Selection
    If item.Value = "  " Then Exit For
    If state = item.Value Then
        item.Value = " "
    Else
        state = item.Value
    End If
Next
End Sub


Это что-бы он останавливался на первой пустой строке.
...
Рейтинг: 0 / 0
макрос
    #32442978
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если известно число заполненых ячеек, то можешь делать Exit For по счетчику
...
Рейтинг: 0 / 0
макрос
    #32443019
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ладно спасибо большое за помощь, напряг я тебя изрядно.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / макрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]