Seite 1 von 1

if then else end if

Verfasst: Mo 5. Jan 2015, 13:07
von tsom
Hallo @all !

Bin ganz neu bei der macro Programmierung und scheitere gleich an einer Kleinigkeit:
Ich möchte das in einer Tabelle nach eingabe eines Begriff's aus einer anderen Tabelle der Preis
Geholt wird. Funktioniert auch aber wenn der Begriff nicht vorhanden ist soll halt ein "--" eingfügt werden.
Genau da scheitert es schon if then else end if funktioniert einfach nicht.
Was habe ich denn übersehen?

Bild
http://www.myimg.de/?img=Tabellea6fd8.png

Übergeben der Werte mit: =MEINWERT(A12:B19;D12) im Ausgabefeld (wo der Preis erscheinen soll)

Mein Makro:

Code: Alles auswählen

REM  *****  BASIC  *****

Function MeinWert (Artikel, Verkauf)

REM Test if then else
	  if Verkauf = "Birne" then
	  	print "in Test if else then " + Verkauf 
	  else 
	  	print "nicht Birne sondern => " + Verkauf
	  endif
	  
	  
	  print Verkauf
	  Ausgabe = ""

	  For Zeile = LBound(Artikel, 1) To UBound(Artikel, 1)
	  
	    For Spalte = LBound(Artikel, 2) To UBound(Artikel, 2)
	      REM Ausgabe = Ausgabe + Str( Artikel(Zeile, Spalte) )
	      
			  IF Artikel(Zeile, Spalte) = Verkauf THEN
			    print Artikel(Zeile, Spalte+1)
		        Ausgabe = Artikel(Zeile, Spalte+1)
		      ELSE
		       Ausgabe = "--"				Rem if then else Fehler !!!!!
			  END IF
		  
	    Next
	    
	  Next

	    print Ausgabe
		MeinWert = Ausgabe
	
End Function
Der code durchläuft nach der if einfach in die else (Verstehe nicht warum!) obwohl er mir mit print einen Treffer ausgibt ;(.

Der Code ist sicher nicht die Glanzleistung und bin auch für andere Vorschläge offen, aber erstmal if Problem.

Vielen DANK im voraus
tsom

Re: if then else end if

Verfasst: Mo 5. Jan 2015, 14:05
von karolus
Hallo
Was habe ich denn übersehen?
Du hast übersehen daß es bereits SVERWEIS als Calcfunktion gibt.

Karolus

Re: if then else end if

Verfasst: Mo 5. Jan 2015, 14:10
von F3K Total
Moin,
dafür braucht man kein Makro, das kann Calc mit Menü Daten/Gültigkeit ... und der Funktion SVERWEIS().
Durch die Daten/Gültigkeit ... mit gültigem Inhalt Zellbereich kannst Du ausschliessen, dass der Begriff nicht vorhanden ist,
brauchst also keine --
Siehe Beispiel anbei.
Klicke in ein leeres Feld der Spalte Produkt, dann den schwarzen Pfeil, wähle das Produkt, fertig.
Gruß R

Re: if then else end if

Verfasst: Mo 5. Jan 2015, 14:11
von tsom
SVERWEIS schaue ich mir an. Danke !

Aber was ist mit der "if" ?

Warum geht das nicht ?

Re: if then else end if

Verfasst: Mo 5. Jan 2015, 16:11
von tsom
Danke euch Beiden !

Habe mir SVERWEIS angeschaut, ist aber nicht das was ich suche :cry:

Könnte mir einer weiter helfen mit der if Anweisung ?

bzw gibt es noch andere Lösungen oder Ansätze?

Vielen Dank
tsom

Re: if then else end if

Verfasst: Mo 5. Jan 2015, 16:35
von F3K Total
Ja,
du solltest die Suchschleife verlassen wenn du einen Treffer hast.
z.B. mit

Code: Alles auswählen

exit for
oder sonst ist "Ausgabe" immer mit der letzte Wert.
Gruß R