Применение формулы к диапазону ячеек, затем вставка значений - PullRequest
0 голосов
/ 28 мая 2019

Мне нужно применить формулу / функцию (функция DOLLAR) к диапазону ячеек, затем вырезать и вставить только значения.

У меня есть строка заголовка и я использую Find, чтобы добраться до нужного мне столбца. Затем со всеми ячейками ниже, я хочу применить формулу DOLLAR. Тем не менее, результатом в конце моего макроса должно быть то, что эти ячейки теперь содержат только значение после применения формулы, а не саму формулу (это потому, что я собираюсь использовать лист для запуска слияния, чтобы не может иметь формул).

Я пытался запустить Do While и другие методы вырезания / вставки. У меня просто нет навыка, чтобы сделать это: (

Sub ProjectSummaryAdjustment()

   Workbooks("Project Summary").Activate

   Range("A1",Range("A1").End(xlToRight)).Find("TD Budget Effort").Select

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

1 Ответ

0 голосов
/ 28 мая 2019

Сначала убедитесь, что вам следует избегать выбора и активации.Тогда вы можете просто использовать оценку, чтобы сделать преобразование.Вам нужно сначала установить текстовое поле:

With Workbooks("Project Summary").Worksheets("Sheet1") 'Change to your sheet name
    Dim rng As Range
    Set rng = .Range("A1", .Range("A1").End(xlToRight)).Find("TD Budget Effort")
    'Test to make sure the header was found
    If Not rng Is Nothing Then
        With .Range(.Cells(2, rng.Column), .Cells(.Rows.Count, rng.Column).End(xlUp))
            .NumberFormat = "@"
            .Value = .Parent.Evaluate("index(DOLLAR(" & .Address & "),)")
        End With
    End If
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...