Microsoft Excel
Оценка 4.6

Microsoft Excel

Оценка 4.6
doc
14.05.2020
Microsoft Excel
85. Microsoft Excel.doc

Считывание диапазона в массив

view plainprint?

1.        Sub example_1() 'двумерные массивы (на выбор)

2.        Dim x

3.        x = Range("A1", Cells(Rows.Count, 1).End(xlUp)).Value

4.        x = Range("A1", Cells(5, Columns.Count).End(xlToLeft)).Value

5.        x = Range("A1").CurrentRegion.Value

6.        With Sheets("Sheet1")

7.        x = .Range("A1:D" & .Cells(Rows.Count, 1).End(xlUp).Row).Value

8.        x = .UsedRange.Value

9.        End With

10.     End Sub

view plainprint?

1.        Sub example_2() 'одномерный массив (на выбор), индексация всегда с 1

2.        Dim x

3.        With Range("A1", Cells(Rows.Count, 1).End(xlUp)) 'из столбца

4.        x = WorksheetFunction.Transpose(.Value)

5.        End With

6.        With WorksheetFunction 'из строки

7.        x = .Transpose(.Transpose(Range("A1", Cells(1, Columns.Count).End(xlToLeft)).Value))

8.        End With

9.        x = Application.Index(Range("A1", Cells(1, Columns.Count).End(xlToLeft)).Value, 1, 0)

10.     End Sub

view plainprint?

1.        Sub example_3() 'одномерный массив без дубликатов из столбца с заголовком

2.        Dim x, i&

3.        i = ActiveSheet.UsedRange.Columns(1).Rows.Count

4.        x = Filter(Evaluate("TRANSPOSE(IF(COUNTIF(OFFSET(a2:a" & i & ",0,0,ROW(1:" & i - 1 & _

5.        ")),a2:a" & i & ")=1,a2:a" & i & ",CHAR(126)))"), "~", 0)

6.        Range("B1").Resize(UBound(x) + 1).Value = WorksheetFunction.Transpose(x)

7.        End Sub

view plainprint?

1.        Sub example_4() 'одномерный массив без дубликатов из столбца без заголовка

2.        Dim x

3.        With ActiveSheet.Cells(1).CurrentRegion.Columns(1)

4.        x = Filter(.Parent.Evaluate("TRANSPOSE(IF(COUNTIF(OFFSET(" & .Address & ",0,0,ROW(1:" & .Rows.Count & _

5.        "))," & .Address & ")=1," & .Address & ",CHAR(126)))"), "~", 0)

6.        End With

7.        Range("B1").Resize(UBound(x) + 1).Value = WorksheetFunction.Transpose(x)

8.        End Sub

view plainprint?

1.        Sub example_5() 'одномерный массив без пустых значений из столбца

2.        Dim x

3.        With Range("A1", Cells(Rows.Count, 1).End(xlUp))

4.        x = Split(Replace(Join(Filter(Split("~" & Join(Application.Transpose(.Value), "~|~") & "~""|"), _

5.        "~~"False), "|"), "~"""), "|")

6.        End With

7.        Range("B1").Resize(UBound(x) + 1).Value = WorksheetFunction.Transpose(x)

8.        End Sub

view plainprint?

1.        Sub example_6() 'массив из строки (только для англ. алфавита!)

2.        Dim myStr As String, x: myStr = "AsDfghErt"

3.        x = Split(StrConv(myStr, 64), Chr(0))

4.        Range("B1").Resize(UBound(x)).Value = WorksheetFunction.Transpose(x)

5.        End Sub

 


Скачано с www.znanio.ru

Считывание диапазона в массив view plain print ? 1

Считывание диапазона в массив view plain print ? 1
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
14.05.2020