Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1324to1328
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
Nebenzelle ausgeben
19.08.2013 08:54:09
Max
Guten Morgen zusammen
Zuerst möchte ich mich noch bei Doris und ransi bedanken. Leider war ich am Wochenende verhindert zu schreiben und die Beiträge waren heute morgen schon im Archiv und mir war es deshalb nicht mehr möglich dort zu antworten.
Nun gut jetzt aber zu meiner Frage:
Wie kann ich den Inhalt einer Nachbarzelle ausgeben in einer anderen Zelle?
Mein Fall sieht wie folgt aus:
Ich habe verschiedene Werte in Spalte D und daneben die ursprünliche Häufigkeit.
jetzt möchte ich den Wert ermitteln der am Häufigsten vorkommt und dann in einer anderen Zelle ausgeben.
Beispiel:
D E F
1 5 3
2 7
3 9
4 2
Mein code sieht bis her wie folgt aus : Sub Adresse2() Dim zeile As Variant, Bereich Dim a As Variant zeile = Range("E65000").End(xlUp).Row Bereich = Range(Cells(2, 5), Cells(zeile, 5)) a = Application.WorksheetFunction.Max(Bereich) Cells.Find (a) ActiveCell.Offset(0, 1) = Range("H2") End Sub

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nebenzelle ausgeben
19.08.2013 09:28:35
selli
hallo max,
wenn ich das richtig verstehe, solltest du mit der funktion RANG schon zum ziel kommen.
gruß
selli

MyAdress = Cells.Find(a).Address
19.08.2013 09:33:27
Matthias
Hallo
MyAdress natürl. deklarieren

MyAdress = Cells.Find(a).Address
Range("F2") = Range(MyAdress).Offset(, -1).Value
Gruß Matthias

AW: MyAdress = Cells.Find(a).Address
19.08.2013 09:58:49
Max
Hallo Matthias
Ich habe deinen Code eingefügt aber irgendwie zeigt er mir einen Fehler an..
Weißt du wo der Fehler liegen könnte?
Sub Adresse()
Dim Zeile As Variant, Bereich
Dim a As Variant
Dim MyAdress As Variant
Zeile = Range("E65000").End(xlUp).Row
Bereich = Range(Cells(2, 5), Cells(Zeile, 5))
a = Application.WorksheetFunction.Max(Bereich)
MyAdress = Cells.Find(a).Address
Range("H2") = Range(MyAdress).Offset(, -1).Value
End Sub

Anzeige
was ist denn bei Dir "Irgendwie"
19.08.2013 10:11:21
Matthias
Hallo
irgendwie zeigt er mir einen Fehler an..
Was denn für ein Fehler?
Bei mir klappt es ohne Probleme, mit XL2000 und XL2007 getestet
Gruß Matthias

AW: was ist denn bei Dir "Irgendwie"
19.08.2013 10:28:12
Max
Der Fehler ist, dass nicht der Wert der Zelle gesucht wird, sondern die Zelle , in meinem Fall, 61.
Das Programm soll aber in Spalte E nach der höchsten Zahl suchen also 61 ,und mir die links daneben stehende Zahl, also aus Spalte D ausgeben in einer anderen Zelle.

AW: letzte Antwort hier ...
19.08.2013 11:10:06
Max
Hallo Matthias
Hier ist es :
https://www.herber.de/bbs/user/86914.xls
Habe das mit den Messageboxen gemacht aber da kommt einfach ein falscher Wert bei raus..
Danke aber schonmal für deine Bemühungen!
Gruß Max

Hast Du es schonmal mit Index() versucht ?
19.08.2013 12:16:31
Matthias
Hallo
Die Datei ist mir zu umfangreich um das alles erst zu analysieren.
Den ganzen VBA-Code hättest Du entfernen und nur das besagte Makro drinlassen können.
Um das Alles zu Testen müsste ich Makros aktivieren, was ich generell nie tue wenn ich den VBA-Code noch nicht analysiert habe.
Ich hoffe das Du dafür Verständnis hast.
Sorry,das ich Dir jetzt nicht weiterhelfen kann, aber da fehlt mir echt die Zeit das alles erst zu checken.
Versuchs mal wie hier
https://www.herber.de/forum/archiv/1324to1328/t1327375.htm#1327385
mit Index()
Bereich anpassen!
Gruß Matthias

Anzeige
AW: Hast Du es schonmal mit Index() versucht ?
19.08.2013 12:34:26
Max
Hallo
Ja stimmt du hast recht ist schon sehr viel...
Ich habe jetzt nur noch das besagte Makro in dieser Datei erhalten:
https://www.herber.de/bbs/user/86916.xls
Würde mich freuen wenn du doch vielleicht noch reinschauen würdest.
Gruß Max

AW: Hast Du es schonmal mit Index() versucht ?
19.08.2013 13:32:33
Max
Hallo Matthias
Nochmals vielen Dank für deine Hilfe.
Ich habe es nun endlich geschafft, indem ich ihn nur in Spalte E suchen lasse.
sieht wie folgt aus :
MyAdress = Range("E:E").Cells.Find(a).Address
Range("H2") = Range(MyAdress).Offset(0, -1).Value
Gruß Max

Anzeige
AW: MyAdress = Cells.Find(a).Address
19.08.2013 10:19:27
Max
Hallo Matthias ich habe deinen Code noch einmal überprüft und ich weiß was falsch läuft, aber leider nicht wie ich es beheben kann...
Dein code such nämlich nicht nach der zahl in der Zelle sondern die Zelle 61 und gibt dann die Nebenzelle aus...

AW: MyAdress = Cells.Find(a).Address
19.08.2013 10:50:26
Matthias
Hallo
Zitat:

Dein code such nämlich nicht nach der zahl in der Zelle sondern die Zelle 61
Das ist totaler Quatsch.
In meinem Test gibts gar keine Zelle 61
Was da bei Dir falsch läuft, kann ich nicht beurteilen - bei mir klappt es ja.
Beispiel:
Tabelle1

 DE
1ZahlHäufigkeit
2115
3217
4354
5498
6574
7664
87139
9828
10929
111086
121197
131281
141364


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Hier ist in Spalte("E") die 139 der größte Wert, also nimmt die Variable a diesen Wert an.
Mit der Ausgabe: MsgBox a kannst Du das prüfen. Genauso kannst Du Dir MyAdress = (E8) ausgeben lassen. Den Wert der linken Nachbarzelle von E8(das ist D8) wird also in die Zelle(H2) geschrieben
Bereich = Range(Cells(2, 5), Cells(Zeile, 5))
a = Application.WorksheetFunction.Max(Bereich)
MsgBox a
MyAdress = Cells.Find(a).Address
MsgBox MyAdress
Wenn Du nicht weiterkommst, lad doch bitte Deine Mappe hoch.
Gruß Matthias

Anzeige
oder als Formellösung mit Index + Vergleich
19.08.2013 09:41:01
Matthias
Hallo
Tabelle1

 DE
2115
3217
4354
5498
6574
7664
8739
9828
10929
111086
121197
131281
141364
15--
16498

Formeln der Tabelle
ZelleFormel
D16=INDEX(D2:D14;VERGLEICH(E16;E2:E14;0))
E16=MAX(E2:E14)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige