Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Можно ли в Excel создать макрос чтоб... / 9 сообщений из 9, страница 1 из 1
15.01.2010, 11:03
    #36411618
A_Cross
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в Excel создать макрос чтоб...
С макросами несилен по-этому прошу помощи у гуру и несовсем этого дела.


Есть масив данных типа
ABCDEFGHIJ10 10.05.2009tkr 10.05.2009ytk 34335615.07.2009ibh 17.02.2009tkr 12.05.200925 22155511.05.2009dghffhg2526.12.2009hgdjhg2515

все значения полей - текстовые/

Задача :
для ячеек значение которых "tkr" и "ytk" присвоить null-ое значение и для ячеек которые находятся сними левее тойже строки также присвоить null-ое значение. т.е.
необходимо получить следующий масив данных
ABCDEFGHIJ10 34335615.07.2009ibh 12.05.200925 22155511.05.2009dghffhg2526.12.2009hgdjhg2515
...
Рейтинг: 0 / 0
15.01.2010, 12:23
    #36411880
DaniilK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в Excel создать макрос чтоб...
формулами устроит?
...
Рейтинг: 0 / 0
15.01.2010, 12:42
    #36411961
A_Cross
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в Excel создать макрос чтоб...
DaniilK,

несовсем. Масив данных очень большой. порядком 84 столбца и до 6-12 тис.строк.

у меня получилось вот что:

Cells.Find(What:="ytk", After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate
Selection.ClearContents
Range("AG375").Select -- как здесь указать значение левой ячейки от найденого?
Selection.ClearContents
Range("AG376").Select
-- как сделать цикл поиска и очистки
...
Рейтинг: 0 / 0
15.01.2010, 13:05
    #36412052
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в Excel создать макрос чтоб...
Времени мало, на для затравки - поиск с циклом по одному значению (т.е. ищет все совпадения)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub tt()
Dim temp$
temp = "ytk"

Set X = Sheets( 1 ).UsedRange.Find(temp, LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)

If Not X Is Nothing Then

    iFirstAddress = X.Address
            
    Do
        Set X = Sheets( 1 ).Cells.FindNext(X)
        Debug.Print X.Address ' для проверки
    Loop While Not X Is Nothing And X.Address <> iFirstAddress
    
End If

End Sub
...
Рейтинг: 0 / 0
15.01.2010, 13:09
    #36412069
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в Excel создать макрос чтоб...
С левым значением:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub tt()
Dim temp$
temp = "ytk"

Set X = Sheets( 1 ).UsedRange.Find(temp, LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)

If Not X Is Nothing Then

    iFirstAddress = X.Address
            
    Do
        Set X = Sheets( 1 ).Cells.FindNext(X)
        Debug.Print X.Address ' для проверки
        Debug.Print X.Offset( 0 , - 1 )
        Debug.Print X.Offset( 0 , - 1 ).Address
    Loop While Not X Is Nothing And X.Address <> iFirstAddress
    
End If

End Sub
...
Рейтинг: 0 / 0
15.01.2010, 13:19
    #36412101
A_Cross
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в Excel создать макрос чтоб...
Hugo121С левым значением:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub tt()
Dim temp$
temp = "ytk"

Set X = Sheets( 1 ).UsedRange.Find(temp, LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)

If Not X Is Nothing Then

    iFirstAddress = X.Address
            
    Do
        Set X = Sheets( 1 ).Cells.FindNext(X)
        Debug.Print X.Address ' для проверки
        Debug.Print X.Offset( 0 , - 1 )
        Debug.Print X.Offset( 0 , - 1 ).Address
    Loop While Not X Is Nothing And X.Address <> iFirstAddress
    
End If

End Sub

что-то ничего не происходит. Наверно забыл учточнить что Excel 2007. Это имеет большое значение?
...
Рейтинг: 0 / 0
15.01.2010, 13:27
    #36412129
DaniilK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в Excel создать макрос чтоб...
эта простая формула спокойно отработает на массиве указанного размера )
...
Рейтинг: 0 / 0
15.01.2010, 13:33
    #36412153
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в Excel создать макрос чтоб...
Excel 2007 - вроде не должно. Вот у меня на 2000 не проходит SearchFormat:=False, поэтому подсократил.
ничего не происходит - ну в таблице ничего и не должно. Debug.Print X.Address ' для проверки - это в редакторе в окно выводится. Тут ещё дорабатывать надо. Адреса получишь, можно вместо
Debug.Print X.Offset(0, -1) написать X.Offset(0, -1) = "" - вот тогда в таблице сотрётся.
...
Рейтинг: 0 / 0
15.01.2010, 14:23
    #36412335
A_Cross
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в Excel создать макрос чтоб...
Hugo121,

да, ты прав Все работает. Спачибо.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Можно ли в Excel создать макрос чтоб... / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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