Часть диапазона отформатирована как текст

У меня есть один для вас, ребята, который может быть немного уродлив, но он делает это на разных платформах

function myFunc () {

var _myAttribute = "default";

this.myAttribute = function() {
    if (arguments.length > 0) _myAttribute = arguments[0];
    return _myAttribute;
}
}

таким образом, когда вы вызываете

var test = new myFunc();
test.myAttribute(); //-> "default"
test.myAttribute("ok"); //-> "ok"
test.myAttribute(); //-> "ok"

Если вы действительно хотите оживить ситуацию, вы можете вставить проверку типа:

if (arguments.length > 0 && typeof arguments[0] == "boolean") _myAttribute = arguments[0];
if (arguments.length > 0 && typeof arguments[0] == "number") _myAttribute = arguments[0];
if (arguments.length > 0 && typeof arguments[0] == "string") _myAttribute = arguments[0];

или пойти еще более сумасшедшим с расширенной проверкой типа: type.of () code at codingforums.com

0
задан Pᴇʜ 18 January 2019 в 16:08
поделиться

1 ответ

Попробуйте:

Public Sub Combined()
    Dim sht As Worksheet
    Set sht = ThisWorkbook.Worksheets("Data")
    sht.Range("A3:M3", sht.Range("A3:M3").End(xlDown)).ClearContents

    With Worksheets("Raw Data").Range("RawTab1")
        'copy everything from RawTab1 but not the first 2 rows
        Dim Crng As Range
        Set Crng = .Resize(RowSize:=.Rows.Count - 2).Offset(RowOffset:=2)
    End With

    sht.Range("A2").Resize(Crng.Rows.Count, Crng.Columns.Count).Value = _
         sht.Evaluate("IF(ISNUMBER(--" & Crng.Address(0, 0, xlA1, 1) & "),--" & Crng.Address(0, 0, xlA1, 1) & "," & Crng.Address(0, 0, xlA1, 1) & ")")

End Sub
0
ответ дан Scott Craner 18 January 2019 в 16:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: