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 14.02.2018, 00:49   #1
Michael1313
Neuer Benutzer
Neuer Benutzer
Standard VBA - Suche nach Zellenwert und Spalte ausgeben

Hallo,

vielleicht könnt Ihr mir ja helfen.

Mein Problem lautet wie folgt (abstrahiert):

Die Range A1:A5 beinhaltet die Werte:
4, 3, 13, 16, 1

i = 1

Wenn ich nun vereinfacht mittels .Range("A1:A5").Find(i).Column nach der Spalte der Zelle mit dem Wert "1" suche, erhalte ich als Ergebnis nicht wie gewünscht die Spaltennummer "5", sondern "3".

Ich denke, dass das Problem daran liegt, dass die "1" bereits in dem Wert "13" enthalten ist. Ich habe nun lange probiert und versucht, aber keine Lösung gefunden.
Wie kann ich es erreichen, dass mittels "Find" die Spalte gefunden wird, welche den exakten Wert enhält und nicht bereits jene, welche lediglich einen Bestandteil umfasst?

Am liebsten wäre mir eine Lösung, welche ich direkt in den oben angegebenen Code einbauen könnte (nach dem Motto: "findExact(1).Column"). In meinem Dokument habe ich eine Vielzahl an Abfragen und Schleifen. Leider ist es deshalb nicht möglich (einfache Lösung), die einstelligen Werte um eine vorangehende "0" zu erweitern. (bspw. "1" in "01").

Vielen Dank

Michael

Geändert von Michael1313 (14.02.2018 um 00:59 Uhr).
Michael1313 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.02.2018, 05:39   #2
Hajo_Zi
MOF Guru
MOF Guru
Standard

Hallo Michael,

die Variable I ist nicht belegt.
Ich würde vermuten die Befehlszeile ist auch falsch.
Ich würde das Ergebnis auch auf eine Variable schreiben.
Set Rafound1 = Columns(1).Find("Erledigt", Range("A" & Rows.Count), xlFormulas, _
xlWhole, , xlNext)

GrußformelHomepage

__________________

Signatur in jedem Beitrag
m Forum kann der Beitrag als erledigt markiert werden. Also mache es unten links mit Klick auf den Schalter "als erledigt setzen", falls Problem gelöst.
Der Zustand des Beitrages wird dann in der Übersicht angezeigt und man braucht sich diese Beiträge nicht mehr ansehen.
Bitte Version angeben. Bei keiner Angabe gehe ich von meinen Angaben aus.
Betriebssystem: Windows 10 - 64 Bit, Office 2016 - 32 Bit.
Hajo_Zi ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.02.2018, 09:08   #3
Michael1313
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Hajo,

danke für Deine Antwort.

Ich habe gerade probiert deinen Ansatz nachzustellen, leider ist es mir nicht gelungen. Ich habe gerade ein Beispiel gebaut, aus dem die Fehler gut erkennbar werden.
1. Zuerst wird die Priorität "10" statt "1" gefunden"
2. Am Ende bleibt die Priorität "1" unberührt, da bereits beim ersten Suchvorgang die "10" statt richtigerweise die "1" gefunden wurde.
=> Folge: Komplettes Ergebnis (Prioritätszuweisung) ist falsch.

Über eine Antwort würde ich mich freuen, da mir leider noch nicht klar ist, wie zwingend nach der exakten Zahl und nicht einem Teil einer Zahl gesucht werden kann.

Michael
Angehängte Dateien
Dateityp: xlsm Beispiel Suchen Prio.xlsm (18,5 KB, 1x aufgerufen)
Michael1313 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.02.2018, 14:53   #4
Michael1313
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Kurze Anmerkung:

Ich habe das Problem jetzt gelöst.

Lösung (wohl nicht die "schönste"):

Ich habe der Zahl jeweils ein "x" vor- und nachgestellt. Statt nach "1" suche ich somit nach "x1x". Nun werden nur noch die exakten Zahlen gefunden.
Michael1313 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.02.2018, 19:17   #5
drambeldier
MOF Koryphäe
MOF Koryphäe
Standard

Moin,
Code:

.Range("A1:A5").Find(i, , , xlWhole)

__________________

Gruß
Ralf
drambeldier 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 02:40 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 - 2018, 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.