Zelle auf in Liste enthaltenen Text prüfen und Listenwert ausgeben

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Zelle auf in Liste enthaltenen Text prüfen und Listenwert ausgeben

Re: Zelle auf in Liste enthaltenen Text prüfen und Listenwert ausgeben

von clag » Sa, 04.07.2015 20:29

Hallo Riswan,

habe deinen Wunsch nach tabellenblattübergreifender Listenabfrage durch verwendung eines benannten Bereiches realisiert.
Zudem kann der benannte Bereich mehrere Spalten enthalten und leere Zellen im Bereich werden übersprungen.
hier noch eine beiSpieldatei dazu
finde_Markennamen_2.ods
(14.05 KiB) 130-mal heruntergeladen
viel Spaß

Re: Zelle auf in Liste enthaltenen Text prüfen und Listenwert ausgeben

von clag » Fr, 03.07.2015 15:58

Hallo Riswan,
Riswan hat geschrieben:Was ist das für ein Code?
das ist der Coder, der die Benutzerdefinierten Funktion EXTRACTIF() zur Verfügung stellt.
Öffne
Calc > Menü > Extras > Makros > Makros verwalten > Ordner:Meine Makros > Standard > Funktionen > bearbeiten
ganz am Ende den kompletten Code unverändert einfügen und speichern.

Jetzt steht dir die Funktion EXTRACTIF() dauerhaft zur Verfügung

Re: Zelle auf in Liste enthaltenen Text prüfen und Listenwert ausgeben

von TrueColor » Fr, 03.07.2015 12:47

für ein paar Basic-Basics ein paar Links:

https://wiki.openoffice.org/wiki/Docume ... ASIC_Guide
http://www.dannenhoefer.de/faqstarbasic/index.html
Suche nach --> Andrew Pitonyak
Auch die F1-Hilfe des Macro-Editors ist nicht zu verachten

Re: Zelle auf in Liste enthaltenen Text prüfen und Listenwert ausgeben

von clag » Do, 02.07.2015 23:13

Hallo Riswan,

habe mal eine benutzerdefinierte Funktion erstellt die tut was du möchtest.
Einen ZellenText nach einer Reihe von Begriffen zu durchsuchen und wenn ein Solcher gefunden wird wir der ausgegeben.
der Bereich der die Suchbegriffe enhält muss ein Spaltenberech sein und als Text angegeben werden
z.B. so
=EXTRACTIF(B3;"N2:N23")

Code: Alles auswählen

FUNCTION EXTRACTIF(LongText, Search as string)
'diese Funktion ermittelt ob ein Begriff aus dem Bereich Search im String LongText enthalten ist 
oSheet = Thiscomponent.CurrentController.ActiveSheet
sRange = oSheet.GetCellRangeByName(Search)
iScol = sRange.GetRangeAddress.StartColumn
iSrow = sRange.GetRangeAddress.StartRow
	for i=0 to sRange.rows.count -1
		if inStr(LongText,oSheet.GetCellByPosition(iScol,iSrow+i).string) > 0 then
			EXTRACTIF = oSheet.GetCellByPosition(iScol,iSrow+i).string
			exit function
		end if
	next
	EXTRACTIF = ""
End FUNCTION
hier eine beiSpieldatei
finde_marke.ods
(12.85 KiB) 119-mal heruntergeladen
hilf dir das?


Edit: . . . . .

damit die Beispieldatei sofort funktioniert hatte ich die Funktion in der Datei gespeichert,
was aber beim öffnen der Datei unter AOO genau das Gegeteil bewirkte,
nämlich für jede Formel die diese Funktion anwendet eine Fehlermeldung.
siehe viewtopic.php?f=18&t=65983#p256899

Da ich die Funktion ja nur für die Beispieldatei in der Datei abgelegt hatte
und ansonsten Funktionen in die Makro Bibliothek Standard/Funktionen gehören
habe ich Stephans Lösungsvorschlag auf die Schnelle umgesetzt.
(es scheint ja auch nur AOO zu betreffen, lt. Karolus tut es in LO ohne Mecker)
finde_marken_in_Tabelle1.ods
(12.27 KiB) 130-mal heruntergeladen
hoffe jetzt macht es mehr Spaß die beiSpieldatei zu öffnen

clag

Nach oben