Option Explicit
Sub Test1()
Const cFirst As Integer = 2
Const cLast As Integer = 999
Const cCol1 As Variant = "F"
Const cCol2 As Variant = "C"
Const cCol3 As Variant = "I"
Dim i As Integer
Dim rngU As Range
With Sheet2
For i = cFirst To cLast
If IsNumeric(.Cells(i, cCol1)) And .Cells(i, cCol1) >= 100 Then
If .Cells(i, cCol2) = "John" _
Or .Cells(i, cCol2) = "Tom" Then
If Not rngU Is Nothing Then
Set rngU = Union(rngU, .Cells(i, cCol1))
Else
Set rngU = .Cells(i, cCol1)
End If
End If
End If
Next
End With
If Not rngU Is Nothing Then
rngU.Copy Sheet1.Cells(cLast, cCol3).End(xlUp).Offset(1, 0)
Set rngU = Nothing
End If
End Sub
На уровне Api 1 вы можете использовать метод public void setTextSize (float size)
.
Из документации:
Установите размер текста по умолчанию на заданное значение, интерпретируемое как единицы «масштабированный пиксель». Этот размер корректируется на основе текущей плотности и предпочтения размера шрифта пользователя.
Параметры: size -> float: масштабированный размер пикселя.
Так что вы можете просто сделать:
textView.setTextSize(12); // your size in sp
Можно использовать объект DisplayMetrics
для преобразования между пикселами и масштабированными пикселами с атрибутом scaledDensity
.
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
pixelSize = (int)scaledPixelSize * dm.scaledDensity;