MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 31.03.2017, 07:04   #1
Mnl_plzl
Neuer Benutzer
Neuer Benutzer
Standard VBA - Rang 1 und 2 in TextBox ausgeben

Guten Morgen,
ich habe folgendes Problem. -ich habe 16 Lieferanten und diese werden mit Punkte bewertet, leider bekomme ich es nicht das mir das Programm nur die 2 höchsten ausgibt. Rang 1 soll in TextBox1 eins ausgegeben werden und Rang 2 in TextBox2.

Vill. könnt ihr mir ja weiter helfen.

Grüße
Manuel
Mnl_plzl ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 31.03.2017, 09:03   #2
Uwi63
MOF User
MOF User
Standard

Moin Manuel,
hier mal ein Beispiel um die gefundenen Zellen der ersten beiden Ränge zu ermitteln.
Mit c.Offset kannst du dann deine gewünschten Daten lesen
Ich hoffe du kannst damit was anfangen
Code:

Sub testRang()
Dim rang(1 To 2) As String
Dim c As Range
Dim rng As Range

With ActiveSheet
    Set rng = .Range("D1:D9")
    For Each c In rng
        If WorksheetFunction.Rank_Eq(c, rng) = 1 Then rang(1) = c.Address   'oder c.Offset(0, -1).Text (anpassen)
        If WorksheetFunction.Rank_Eq(c, rng) = 2 Then rang(2) = c.Address
    Next c
End With

MsgBox "Rang 1 ist in Zelle: " & rang(1) & vbCrLf _
        & "Rang 2 ist in Zelle: " & rang(2)

End Sub

__________________

Gruß
Uwe


über Feedback würde ich mich freuen
Uwi63 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 31.03.2017, 09:57   #3
RPP63neu
MOF Meister
MOF Meister
Standard

Moin!
Eine Alternative über Formeln:
 ABCDE
1Baier1377 Rang 1:Vogt
2Böttcher6003 Rang 2:Herrmann
3Bühler2090   
4Drescher1557   
5Forster8383   
6Gruber8896   
7Hamann3862   
8Harms7677   
9Herrmann9863   
10Jordan2079   
11Kirchner2405   
12Rath4260   
13Reichert8295   
14Simon5459   
15Stephan9547   
16Strauß8471   
17Theis1233   
18Vogt9962   
19Wiesner9272   
20Winkelmann1845   

Formeln der Tabelle
ZelleFormel
E1=INDEX(A:A;VERGLEICH(KGRÖSSTE(B:B;ZEILE(A1));B:B;0))
E2=INDEX(A:A;VERGLEICH(KGRÖSSTE(B:B;ZEILE(A2));B:B;0))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Gruß Ralf

__________________

Meine Logik war nicht fehlerhaft, nur meine Interpretation!
Tuvok
RPP63neu ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 31.03.2017, 10:10   #4
RPP63neu
MOF Meister
MOF Meister
Standard

Gleiches Prinzip, nun aber auf VBAianisch …:
Private Sub UserForm_Initialize()
Dim Rang#
For Rang = 1 To 2
   With WorksheetFunction
      Me.Controls("TextBox" & Rang).Text = _
         Tabelle1.Cells(.Match(.Large(Tabelle1.Columns(2), Rang), Tabelle1.Columns(2), 0), 1)
   End With
Next
End Sub


Gruß Ralf

__________________

Meine Logik war nicht fehlerhaft, nur meine Interpretation!
Tuvok
RPP63neu ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 31.03.2017, 10:28   #5
Mnl_plzl
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Ich danke euch,
aber mein Problem ist das ich das auf der Userform ausgeben muss. Die Punkte der Lieferanten werden im meinem Programm berechnet. Z.b Lieferant_1 = 50, Lieferant_2 = 64, Lieferant_3 =12 und das geht so weiter bis 23 und nur die 2 besten sind notwendig um diese auszuwerfen.

Gruß Manuel
Mnl_plzl ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 31.03.2017, 10:32   #6
Mnl_plzl
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

So berechne ich einen Lieferanten, ja es sieht schrecklich aus, aber es funktioniert

Code:

If Spalte_P(16) = 0 Or Spalte_Q(16) = 0 Or Spalte_R(16) = 0 Or Spalte_S(16) = 0 Or Spalte_T(16) = 0 Or Spalte_U(16) = 0 Or Spalte_V(16) = 0 Or Spalte_W(16) = 0 Or Spalte_X(16) = 0 Or Spalte_Y(16) = 0 Or Spalte_AG(16) = 0 Or Spalte_AH(16) = 0 Or Spalte_AI(16) = 0 Or Spalte_AJ(16) = 0 Or Spalte_AK(16) = 0 Or Spalte_AL(16) = 0 Or Spalte_AM(16) = 0 Or Spalte_AN(16) = 0 Or Spalte_AP(16) = 0 Or Spalte_AQ(16) = 0 Or Spalte_AR(16) = 0 Or Spalte_AS(16) = 0 Or Spalte_AT(16) = 0 Or Spalte_AU(16) = 0 Or Spalte_AV(16) = 0 Or Spalte_AW(16) = 0 Or Spalte_AX(16) = 0 Or Spalte_AY(16) = 0 Or Spalte_AZ(16) = 0 Or Spalte_BA(16) = 0 Or Spalte_BB(16) = 0 Or Spalte_BC(16) = 0 Or Spalte_BD(16) = 0 Or Spalte_BE(16) = 0 Or Spalte_BF(16) = 0 Or Spalte_BG(16) = 0 Or Spalte_BH(16) = 0 Then
Lieferant_16 = 0
Else
Lieferant_16 = Spalte_P(16) + Spalte_Q(16) + Spalte_R(16) + Spalte_S(16) + Spalte_T(16) + Spalte_U(16) + Spalte_V(16) + Spalte_W(16) + Spalte_X(16) + Spalte_Y(16) + Spalte_AG(16) + Spalte_AH(16) + Spalte_AI(16) + Spalte_AJ(16) + Spalte_AK(16) + Spalte_AL(16) + Spalte_AM(16) + Spalte_AN(16) + Spalte_AO(16) + Spalte_AP(16) + Spalte_AQ(16) + Spalte_AR(16) + Spalte_AS(16) + Spalte_AT(16) + Spalte_AU(16) + Spalte_AV(16) + Spalte_AW(16) + Spalte_AX(16) + Spalte_AY(16) + Spalte_AZ(16) + Spalte_BA(16) + Spalte_BB(16) + Spalte_BC(16) + Spalte_BD(16) + Spalte_BE(16) + Spalte_BF(16) + Spalte_BG(16) + Spalte_BH(16)
End If
Mnl_plzl ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 31.03.2017, 10:39   #7
RPP63neu
MOF Meister
MOF Meister
Standard

Und was genau gefällt Dir an meinen beiden Lösungen nicht?
Ich habe meine Übungsdatei mal angehängt.

Gruß Ralf
Angehängte Dateien
Dateityp: xlsm Ränge.xlsm (23,1 KB, 10x aufgerufen)

__________________

Meine Logik war nicht fehlerhaft, nur meine Interpretation!
Tuvok
RPP63neu ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 03.04.2017, 09:22   #8
Mnl_plzl
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Guten Morgen, tut mir leid dasn ich mich erst jetzt zurück melde, bin über das WE im Urlaub gewesen.
Die VBA Lösung gefällt mir schon sehr gut, aber die pkt. der Lieferanten stehen nicht in einer Liste in Excel sondern werden von meine VBA Programm intern berechnet, deswegen weiß ich nicht ob es da auch so funktioniert

MfG
Manuel

Ps. Danke für das Beispiel ich schau es mir gleich mal an
Mnl_plzl ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 03.04.2017, 16:55   #9
Mnl_plzl
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Vielen Dank für eure Antworten, es hat funktioniert.
Mnl_plzl ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:58 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.