Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst VBA - minimalen Wert in Zeile suchen und Spaltenüberschrift ausgeben

Mitglied: fitzin

fitzin (Level 1) - Jetzt verbinden

17.04.2012 um 15:44 Uhr, 7631 Aufrufe, 9 Kommentare

Hallo,

ich bräuchte ein Makro, mit dem pro Zeile der geringste Wert (ev. zusätzlich auch der 2. und 3. geringste Wert) ermittelt wird und die Spaltenüberschrift ausgegeben wird. Kann mir da bitte jemand weiterhelfen?

lg fitzin
Mitglied: NetWolf
17.04.2012 um 16:00 Uhr
Moin Moin,

Zeilen haben keine Spaltenüberschriften! Das was du wünscht kann also nicht funktionieren.

btw benötigst du für einzelne Werte kein VBA, dass kann Excel i.d.R. auch ohne

Grüße aus Rostock
Wolfgang
(Netwolf)
Bitte warten ..
Mitglied: mak-xxl
17.04.2012 um 16:25 Uhr
Moin fitzin,

wenn Du z.B. in die Zelle 'A1' die Formel
=KKLEINSTE(A2:IV2;1)
schreibst, so wird aus der gesamten 2. Zeile der Tabelle der kleinste Wert gefunden. Die '1' in der Formel steht für die Rangfolge, also ergibt hier eine '2' den zweitkleinsten Wert.

Soll es komplett in einer Zeile bleiben, so muss in Zelle 'A2' die Formel
=KKLEINSTE(B2:IV2;1)
die dann die kleinste Zahl aus dem Rest der Zeile 2 findet.

Soll das Ganze pro Spalte funktionieren, so lautet die Formel
=KKLEINSTE(A2:A65536;1)
die, wie o.a., aber für die Spalte 'A' funktioniert.

Freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: fitzin
17.04.2012 um 16:32 Uhr
Dass eine Zeile keine Spaltenüberschrift haben kann, ist mir klar. Aber der geringste Wert einer Zeile, der z.B. in Spalte F steht, schon...

Meine Matrix besteht aus über 12.000 Zeilen und ca. 50 Spalten. Den geringsten Wert pro Zeile kann ich einfach mit der Min-Funktion ermitteln. Aber ich bräuchte eine Funktion oder eben ein Makro, das mir angibt, in welcher Spalte dieser Zeilen-Minimalwert steht.
Bitte warten ..
Mitglied: fitzin
17.04.2012 um 16:41 Uhr
Danke für deine Antwort, allerdings liegt mein Hauptproblem darin, wie ich die Spalte ermitteln kann, in der dieser Minimalwert steht. Mit WVerweis komm ich nicht weiter, weil der gesuchte Wert nicht in der ersten Zeile liegt, sondern eben in der 2., 3., 4. etc.
Bitte warten ..
Mitglied: mak-xxl
17.04.2012 um 19:45 Uhr
Moin fitzin,

nachfolgenden Quellcode auf das Modulblatt des betreffenden Tabellenblattes kopieren.
01.
Sub ZeileMinimumAdresse()                       ' Suche Minimum von links beginnend 
02.
 
03.
Dim strRange As String                          ' Bereich Zeile von B bis IV 
04.
Dim i As Long 
05.
Dim intMinNr As Integer 
06.
Dim objWks As Object                            ' Tabellenblatt mit Werten 
07.
 
08.
With Application 
09.
     
10.
    Set objWks = .ThisWorkbook.Worksheets(1)    ' erstes Tabellenblatt 
11.
     
12.
    intMinNr = 1                                ' das wievielte Minimum (Rang) 
13.
     
14.
    For i = 1 To objWks.Range("B:B").End(xlUp).Row 
15.
         
16.
        On Error Resume Next                    ' eventuelle Leerzeilen erzeugen Fehler 
17.
         
18.
        strRange = "B" & i & ":IV" & i          ' Spalte A: Adresse des Minimums 
19.
         
20.
        objWks.Cells(i, 1) = objWks.Range(strRange).Find(.WorksheetFunction.Small(objWks.Range(strRange), intMinNr), LookAt:=xlWhole, LookIn:=xlValues).Address 
21.
     
22.
    Next i 
23.
     
24.
End With 
25.
 
26.
On Error GoTo 0                                  ' Fehlerbehandlung wieder Standard 
27.
 
28.
End Sub
Die Routine geht davon aus, das Spalte 'A' frei ist, hier wird je Zeile die Zelladresse des ersten von links gefundenen Minimums des in der Variable 'intMinNr' festgelegten Ranges dieser Zeile eingetragen.

[Edit]
Achtung: Bitte Zeile 14 ersetzen durch:
For i = 1 To objWks.Range("B" & Rows.Count).End(xlUp).Row
@76109:
Dank für den Hinweis!
[/Edit]

Freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: NetWolf
17.04.2012 um 20:12 Uhr
Moin Moin,

mal so am Rande, wäre es nicht einfacher für dich, das Ganze mit der bedingten Formatierung zu erledigen?

Grüße aus Rostock
Wolfgang
(Netwolf)
Bitte warten ..
Mitglied: 76109
17.04.2012 um 20:20 Uhr
Hallo Mario!

Sorry, aber mit dieser Codezeile
01.
For i = 1 To objWks.Range("B:B").End(xlUp).Row
wirst Du wenig Erfolg haben, weil das To-Ergebnis immer 1 ist

Du musst die Zelle angeben, vonderaus nach oben auf die 1. belegte Zelle gezählt wird.
01.
Wks.Cells(Wks.Rows.Count, "B").End(xlUp).Row
Bedeutet: Von der letzten Zeile aus gesehen, die erste belegte Zelle (von unten nach oben) finden.


Gruß Dieter


PS.
Das .End bezieht sich nicht auf die Letzte Zeile eines Sheets, sondern nur auf eine letzte Zelle mit Inhalt (von oben nach unten oder von unten nach oben).

Beispiel: Zeile 1-5 ist belegt, Zeile 6 ist eine Leerzeile und die Zeilen 7-10 sind wieder belegt, dann:
01.
Line = Cells(1,"B").End(xlDown).Row   'Ab Zeile 1:  Ergebnis = 5 
02.
 
03.
Line = Cells(10,"B").End(xlUp).Row   'Ab Zeile 10:  Ergebnis = 7
Bitte warten ..
Mitglied: mak-xxl
17.04.2012 um 21:09 Uhr
Moin didi1954,

und da man vorab nicht weiß, welche Zeile die letztbelegte ist und welche Excel-Version der Anwender hat, macht man es eben so:

Range("B" & Rows.Count).End(xlUp).Row
oder so:

Cells(Rows.Count, "B").End(xlUp).Row
es sei, denn, man macht Fehler beim Kopieren, so wie ich oben ...

Freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: fitzin
17.04.2012 um 21:46 Uhr
Vielen Dank für eure Hilfe! Funktioniert perfekt - genau was ich gesucht habe
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Minimal Wert in einer Spalte suchen und Verweis

gelöst Frage von ExcelpilotMicrosoft Office1 Kommentar

Hallo, ich möchte in einer Zeile den minimalen Wert suchen und daraufhin je nach gefundenem Wert in der gleichen ...

Microsoft Office

Werte aus Spalten in Zeilen suchen und zweiten Wert zuordnen

Frage von frosch44Microsoft Office1 Kommentar

Guten Morgen, hier ist der Aprilscherzmacher :-) Heute suche ich folgende Lösung: Ich habe Spalte A mit Daten und ...

Microsoft Office

Excel-VBA: Alle Werte einer Spalte in einer anderen Suchen

gelöst Frage von KevinPMicrosoft Office4 Kommentare

Hallo, ich hänge jetzt schon seit Tagen dran und komm nicht zu Rande. Ich versuche jeden Wert eines Tabellenblattes ...

Microsoft Office

Excel: per VBA in Abhängigkeit von Wert Zeilen aus- oder einblenden

gelöst Frage von philbo20Microsoft Office10 Kommentare

Hallo zusammen, ich habe eine Excel-Tabelle, in der ich in einer Zelle ein Datum stehen habe. Nun würde ich ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 9 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 11 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 11 StundenMicrosoft7 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 2 TagenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1026 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Webbrowser
Welcher Browser ist der Beste?
Frage von justtinWebbrowser13 Kommentare

Hallo Leute Ich habe eine interessante Frage. Mich wurde mal interessieren welcher Browser ist eure meinung nach der beste? ...