Как мне отформатировать отдельные типы ячеек на основе заголовка столбца? - PullRequest
0 голосов
/ 20 мая 2019

У меня есть таблица с заголовком в первой строке и типом блока во второй строке. Эти типы единиц являются значениями, такими как $,%.

Я хотел бы применить форматирование чисел, а также округление к ячейкам.

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

Sub Format()

Dim lngCol As Long, i As Long
Dim str As String

lngCol = Cells(2, Columns.Count).End(xlToLeft).Column

For i = 1 To lngCol
    Select Case Cells(2, i)
        Case "$": Columns(i).Style = "Currency"
        Case "%": Columns(i).Style = "Percent"
End Select
Next

End sub

1 Ответ

1 голос
/ 20 мая 2019

Попробуйте что-то вроде этого, вы можете адаптировать его по мере необходимости ...

Public Sub FormatCellsBasedOnString()
    Dim lngToCol As Long, lngCol As Long, lngToRow As Long

    With Sheet1
        lngToCol = .Cells(1, .Columns.Count).End(xlToLeft).Column

        For lngCol = 1 To lngToCol
            lngToRow = .Cells(.Rows.Count, lngCol).End(xlUp).Row
            .Range(.Cells(3, lngCol).Address & ":" & .Cells(lngToRow, lngCol).Address).NumberFormat = .Cells(2, lngCol)
        Next
    End With
End Sub

Для форматирования ячеек под ним используется числовой формат во 2-й строке столбца.варианты действительно бесконечны.Отформатируйте ячейку так, как вам нужно, затем перейдите к Custom в форматировании ячейки и используйте эту строку для форматирования ячейки, используя эту концепцию макроса.

enter image description here

Надеюсь, это имеет смысл.

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