Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Тест массива Добавлено: 22.05.13 02:16  

Автор вопроса:  Григорий
Всем доброе время суток.
макрос для примера
выделяет ячейку 4

Sub SelectNegative()
Dim Cell As Range

For Each Cell In Range("A:A")
If Cell.Value = 4 Then
Cell.Select

End If
Next Cell
End Sub

надо выделить массив в Range("A:A")
и выделить ячейку нижней строки массива
далее продолжить работу макроса для выделения
таких же данных.
Попробовал сделать макрос.
не работает


Option Explicit
Sub SelectNegative()
Dim myArray As String
Dim myCount As Integer
myArray = Array("1", "2", "3", "4", "5", "6", "7")
For Each Cell In myArray("A:A")
For myCount = 1 To UBound(myArray)
.Cells(1, myCount).Value = myArray(myCount)
Next myCount
If Cell.Value = myArray Then
Cell.Select

End If
Next Cell
End Sub

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 AxeL



ICQ: 264730390 

Вопросов: 2
Ответов: 106
 Профиль | | #1 Добавлено: 22.05.13 06:50
  1. Sub Test()
  2. Dim first ' адрес первой ячейки
  3. Dim last ' адрес последней ячейки
  4. first = "A1"
  5. last = Cells(Rows.Count, Range(first).Column).End(xlUp).address(0, 0)
  6. Range(first, last).Select ' выбор диапазона
  7. Range(last).Activate ' выделение последней ячейки
  8. Dim myArray As Variant
  9. Dim myCount As Integer
  10. Dim last_value ' максимальный размер массива
  11. myArray = Array("1", "2", "3", "4", "5", "6", "7")
  12. last_value = UBound(myArray)
  13. For myCount = 0 To last_value ' индексы массива начинаются с нуля
  14. Range(first).Offset(myCount, 0).Value = myArray(myCount)
  15. Next myCount
  16.  
  17. Range(first).Offset(myCount, 0).Activate
  18. ' Activate при выделенном диапазоне сделает активной ячейку диапазона
  19. ' в остальных случаях - выделит ячейку,как Select
  20.  
  21. End Sub

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам