powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Макрос смещающий значение?
4 сообщений из 4, страница 1 из 1
Макрос смещающий значение?
    #34818166
Салик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день
Подскажите, пожалуйста, возможно ли придумать какой ни будь макрос, который бы перемещал значение в ячейке если в соседней колонке есть значение
Пример во вложенном файле
...
Рейтинг: 0 / 0
Макрос смещающий значение?
    #34818388
Адепт.NET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мой вариант
Код: plaintext
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.
Sub Main()
    Dim MyRange As Range
    
    Set MyRange = ActiveWindow.RangeSelection
    Test MyRange
End Sub

Sub Test(MyRange As Range)
    Dim Cell1 As Range, Cell2 As Range, Cell3 As Range
    
    For Count =  1  To MyRange.Rows.Count
        Set Cell1 = MyRange.Cells(Count,  1 )
        Set Cell2 = MyRange.Cells(Count,  2 )
        ' если пустая ячейка в первом столбце
        If IsEmpty(Cell1.Value) Then GoTo Continue
        ' если не пустая ячейка во втором столбце
        If Not IsEmpty(Cell2.Value) Then GoTo Continue
        
        For Count2 = Count +  1  To MyRange.Rows.Count
            Set Cell3 = MyRange.Cells(Count2,  2 )
            If Not IsEmpty(Cell3.Value) Then
                Cell2.Value = Cell3.Value
                Cell3.Value = Empty
                Exit For
            End If
        Next
Continue:
    Next
End Sub
...
Рейтинг: 0 / 0
Макрос смещающий значение?
    #34818402
Адепт.NET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мой вариант
Код: plaintext
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.
Sub Main()
    Dim MyRange As Range
    
    Set MyRange = ActiveWindow.RangeSelection
    Test MyRange
End Sub

Sub Test(MyRange As Range)
    Dim Cell1 As Range, Cell2 As Range, Cell3 As Range
    
    For Count =  1  To MyRange.Rows.Count
        Set Cell1 = MyRange.Cells(Count,  1 )
        Set Cell2 = MyRange.Cells(Count,  2 )
        ' если пустая ячейка в первом столбце
        If IsEmpty(Cell1.Value) Then GoTo Continue
        ' если не пустая ячейка во втором столбце
        If Not IsEmpty(Cell2.Value) Then GoTo Continue
        
        For Count2 = Count +  1  To MyRange.Rows.Count
            Set Cell3 = MyRange.Cells(Count2,  2 )
            If Not IsEmpty(Cell3.Value) Then
                Cell2.Value = Cell3.Value
                Cell3.Value = Empty
                Exit For
            End If
        Next
Continue:
    Next
End Sub
...
Рейтинг: 0 / 0
Макрос смещающий значение?
    #34823364
Салик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое, действительно все работает
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Макрос смещающий значение?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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