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

Frage Microsoft Microsoft Office

Mitglied: fitzin

fitzin (Level 1) - Jetzt verbinden

17.04.2012 um 15:44 Uhr, 7533 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
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 6 StundenInternet3 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 13 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 1 TagWindows 103 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 1 TagSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless17 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...