Задача по удаления строк/столбцов из массива по условию

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
kukulza
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 13.12.2005 (Вт) 3:24

Задача по удаления строк/столбцов из массива по условию

Сообщение kukulza » 13.12.2005 (Вт) 3:32

Приветствую, помогите пожалуйста.

необходимо что бы из матрицы вырезались строки и столбцы.
Критерием служит то что значения в строке/столбце меньше соответствующих значений в другой строке/столбце.

Пример:
имеем матрицу
__ В1 _ В2 _ В3_ В4 _ В5
А1 200 400 600 400 700
А2 300 400 600 500 800
А3 400 500 600 500 800
А4 700 300 500 200 100

видим что все значения А1 200 400 600 400 700
меньше соответствующих значений А2 300 400 600 500 800
следовательно строку А1 удаляем.
Такой же принцип удаления и столбцов.

Пожалуйста помогите подступится к решения задачи. :?

если можно отправте меня в хорошее место где я разберусь с основами синтаксиса VBA для работы с ячейкаи Excel,
что бы в этом месте был какой либо примерчик в котором забивают из Екселя в массив и потом обратно в Ексель :)

Заранее огоромное спасибо!

HaSH
Новичок
Новичок
Аватара пользователя
 
Сообщения: 40
Зарегистрирован: 08.12.2005 (Чт) 12:24
Откуда: г. Киев

Сообщение HaSH » 13.12.2005 (Вт) 12:24

Добавь к проeкту (Project - References...) Microsoft Excel Object Library.

Кад для чтения из экселя

Код: Выделить всё

Option Explicit

Public WorkSheet As Excel.WorkSheet
Public mObjXLS As Object
Dim arrTable() As String


Private Sub Command1_Click()
Dim Cols As Integer
Dim Rows As Integer


Set mObjXLS = GetObject("c:\table.xls")
Set WorkSheet = mObjXLS.Worksheets(1)
ReDim arrTable(1 To WorkSheet.UsedRange.Rows.Count, 1 To WorkSheet.UsedRange.Columns.Count)

For Rows = 1 To UBound(arrTable, 1)
    For Cols = 1 To UBound(arrTable, 2)
        arrTable(Rows, Cols) = WorkSheet.Cells(Rows, Cols)
    Next
Next

Set mObjXLS = Nothing
Set WorkSheet = Nothing

End Sub


Писать в ячейки также, только "наоборот"
Код: Выделить всё

WorkSheet.Cells(Rows, Cols)=arrTable(Rows, Cols)


Сейчас пишу ф-цию для удаления строк


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, SemrushBot, Yandex-бот и гости: 166

    TopList