Ищете VBA для сравнения столбцов и автоматического заполнения - PullRequest
0 голосов
/ 17 июня 2020

введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь Мне нужен макрос, который может сравнивать столбцы рядом друг с другом а затем автоматически заполнять информацию для меня. Это утомительное занятие, которое мы должны делать каждый месяц.

введите описание изображения здесь введите описание изображения здесь

У меня нет опыта работы с VBA, и я не знаю, с чего начать, когда дело касается написания кода. Я sh Я мог бы показать картинки того, что мне нужно. Один столбец никогда не превышает 100% (фактический%). Если он равен 100%, другой столбец должен соответствовать ему. Если это 87,5%, другой столбец должен быть 87,5%. Иногда рассчитанный% будет на уровне 125%, но фактический% не может go выше 100%.

Мне нужно go и вручную отредактировать столбец справа (что составляет% фактического завершения), чтобы сопоставьте столбец слева (формула, которая вычисляет процент выполнения на основе бюджета и стоимости), и это довольно утомительно.

Кто-нибудь знает, как получить для этого макросы?

Ответы [ 2 ]

0 голосов
/ 17 июня 2020

Подумав, возможно, вы могли бы поискать что-то вроде

Option Explicit

Sub test()
    Dim i As Long
    Dim wb As Excel.Workbook
    Dim ws As Excel.Worksheet
    
    i = 1
    Set wb = ActiveWorkbook
    Set ws = wb.Sheets("Sheetname")

' Cell(i,6) is equal to row i, column F    
    Do While i <= ws.UsedRange.rows.count        ' you will have to define a criterium for the last row
        If Not IsEmpty(ws.Cells(i, 6)) And (ws.Cells(i, 6).Font.Bold = False) Then    ' no empty cells, no cells with bold
            
Debug.Print i
Debug.Print ws.Cells(i, 6)

            If ws.Cells(i, 6) < 100 Then
                ws.Cells(i, 7) = ws.Cells(i, 6)
            Else
                ws.Cells(i, 7) = 100
            End If
        End If
        i = i + 1
    Loop    
End Sub

Это может не сработать для вас сразу, но я надеюсь, что это хорошее начало для создания вашего собственного макроса, а затем работы

0 голосов
/ 17 июня 2020

Я думаю, вы просто ищете формулу. VBA не требуется. =IF(A1<=100,A1,100) должно сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...