Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
744to748
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
744to748
744to748
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

matrix

matrix
16.03.2006 21:33:43
oliver
hi!
ich möchte aus einer matrix das grösste element einer zeile bestimmen und dann die komplette zeile und spalte, in der das element sich befindet löschen.
hat einer eine idee ?
vielen dank
olli

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: matrix
16.03.2006 21:39:01
MichaV
Hallo,
mal eine Beispielmatrix:

1  2  3  1
6  8  2  5
0  3  2  7

Welche Zeile und welche Spalte soll gelöscht werden?
Gruß- Micha
PS: Rückmeldung wäre nett.
AW: matrix
16.03.2006 21:48:35
Ramses
Hallo
probiers mal so
Option Explicit

Sub Delete_Matrix_Max()
    Dim srcRange As Range
    Dim fndRange As Variant
    Dim delRow As Long, delCol As Long
    Set srcRange = Range("A1:Z100")
    Set fndRange = srcRange.Find(Application.WorksheetFunction.Max(srcRange))
    If Not fndRange Is Nothing Then
        With fndRange
            delRow = .Row
            delCol = .Column
        End With
        Columns(delCol).Delete
        Rows(delRow).Delete
    End If
End Sub

Gruss Rainer
Anzeige
AW: matrix
16.03.2006 21:57:17
olli
hi rainer,
sorry...aber was mache ich mit dem programmcode?
bin nicht so fit in VB... :-(
AW: matrix
16.03.2006 22:02:18
Ramses
Hallo
vorher
 
 CDEFGH
10Artikel12345
111222111
1220-274
13312-81
14443091
1552410-
 

Code laufen lassen
Option Explicit

Sub Delete_Matrix_Max()
    Dim srcRange As Range
    Dim fndRange As Variant
    Dim startRow As Long, endRow As Long
    Dim startCol As Long, endCol As Long
    startRow = 11
    endRow = 15
    startCol = 4
    endCol = 8
    Set srcRange = Range(Cells(11, 4), Cells(15, 8))
    Set fndRange = srcRange.Find(Application.WorksheetFunction.Max(srcRange))
    If Not fndRange Is Nothing Then
        Range(Cells(fndRange.Row, startCol), Cells(fndRange.Row, endCol)).ClearContents
        Range(Cells(startRow, fndRange.Column), Cells(endRow, fndRange.Column)).ClearContents
    End If
End Sub

Nachher
 
 CDEFGH
10Artikel12345
111     
1220-2 4
13312- 1
144430 1
155241 -
 

Gruss Rainer
Anzeige
AW: matrix
16.03.2006 22:03:54
Ramses
Hallo
VB-Editor starten "Alt"+"F11"
Modul einfügen
Code reinkopieren
Ansicht - Symbolleisten - Formular
Schaltfläche auf die Tabelle ziehen
Das Makro zuweisen
Fertig
Gruss Rainer
AW: matrix
16.03.2006 22:44:35
olli
jo...super...soweit klappts :-)
vielleicht noch eine kleinigkeit... ist es schwierig, den programmcode so abzuwandeln, das man sich die zeile, in der er das grösste elementfinden soll auswählen kann?
das wäre noch die krönung...bin euch jetzt schon super dankbar....
also z.b. nimm die 2. zeile der matrix, suche dass grösste element und lösche die zeile und spalte.
AW: matrix
16.03.2006 22:58:16
Ramses
Hallo
Vorher den Bereich markieren, dann laufen lassen.
 
 CDEFGH
10Artikel12345
111     
1220-2 4
13312- 1
144430 1
155241 -
 

Gruss Rainer
Anzeige
Sorry,... hier der Code
16.03.2006 22:59:10
Ramses
Hallo
Bereich markieren, dann Code laufen lassen
Option Explicit

Sub Delete_Matrix_Max()
    Dim srcRange As Range
    Dim fndRange As Variant
    Dim startRow As Long, endRow As Long
    Dim startCol As Long, endCol As Long
    startRow = 11
    endRow = 15
    startCol = 4
    endCol = 8
    Set srcRange = Range(Selection.Address)
    Set fndRange = srcRange.Find(Application.WorksheetFunction.Max(srcRange))
    If Not fndRange Is Nothing Then
        Range(Cells(fndRange.Row, startCol), Cells(fndRange.Row, endCol)).ClearContents
        Range(Cells(startRow, fndRange.Column), Cells(endRow, fndRange.Column)).ClearContents
    End If
End Sub

Gruss Rainer
Anzeige
AW: Sorry,... hier der Code
17.03.2006 12:07:11
olli
super...danke...genau richtig :-)
gruss olli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige