Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
916to920
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

sverweis funktioniert nicht

sverweis funktioniert nicht
25.10.2007 17:00:39
Jojo
Hallo zusammen,
ich habe versucht in der angehangenen Tabelle eine Sverweis einzubauen, der einfach Fachkürzel zu Lehrerkürzel zuordnen soll. Klappt auch gut , bis auf Kürzel die mit D anfangen.
Was läuft da schief?
Mein Traum wäre noch die Lösung des Spezialfalles, wenn zweimal dasselbe Fach von verschiedenen Lehrern unterrichtet wird. Vielleicht über eine Benutzerabfrage?...
https://www.herber.de/bbs/user/47107.xls

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: sverweis funktioniert nicht
25.10.2007 17:05:00
Hajo_Zi
Hallo Jojo,
gebe auch den letzten Paramter in SVERWEIS() an, 0

AW: sverweis funktioniert nicht
25.10.2007 17:17:39
Jojo
super! Danke es klappt jetzt.
Vielleicht darf ich noch zwei Fragen äussern?
1. bei fehlender Eingabe wird im Feld Lehrerkürzel ein Raute angezeigt. Wie bekomme ich die weg?
2. Wie erreiche ich, dass die Eingabe von dkg automatisch in Grossbuchstaben umgewandelt wird?
Danke, Jojo

AW: sverweis funktioniert nicht
25.10.2007 17:21:26
Hajo_Zi
Hallo jojo,
zu 1 =Wenn(Istfehler(Deine_Formel);"";Deine_Formel)
zu 2 schaue hier http://hajo-excel.de/chCounter3/getfile.php?id=52

Anzeige
AW: sverweis funktioniert nicht
25.10.2007 17:33:49
Jojo
hallo Hajo
superschnelle reaktionszeit hier! Danke
1. funzt
2. wohl auch, habe aber schon ein script im worksheet laufen, das auch so beginnt:

Private Sub Worksheet_Change(ByVal Target As Range)
Daher Fehlermeldung: Mehrdeutiger Name: Worksheet_change
Ich habe kein Ahnung wie man 2 Scripte miteinander kombiniert...:-(
Hier mein Code:
Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich1 As Range
Set Bereich1 = Range("D10:DA42")
If Union(Target, Bereich1).Address = Bereich1.Address Then
If LCase(Target)  "" And LCase(Target)  "1" And LCase(Target)  "2" And  _
LCase(Target)  "3" And LCase(Target)  "4" Then
MsgBox "Falsche Eingabe. Bitte Werte zwischen 1 und 4 eintragen!"
Target.Select
End If
End If
End Sub



Private Sub Worksheet_Change(ByVal Target As Range)
'* H. Ziplies                                     *
'* 16.08.03                                       *
'* erstellt von Hajo.Ziplies@web.de               *
'* http://Hajo-Excel.de/
'   alle Buchstaben groß in einem definierten Bereich
Dim RaBereich As Range, RaZelle As Range
'   Bereich der Wirksamkeit
Set RaBereich = Range("D9:j9, l9:R9")
'   noch mehr Bereiche
'    Set RaBereich = Union(Range("C11:AG11 , C13:AG13, C15:AG15 , C17:AG17 , C19:AG19 ,  C21: _
AG21 , C27:AE27 , C29:AE29, C31:AE31, C33:AE33"), _
'        Range("C35:AE35, C37:AE37, C43:AG43, C45:AG45 , C47:AG47 , C49:AG49 ,C51:AG51 , C53: _
AG53 , C59:AF59 , C61:AF61 , C63:AF63 , C65:AF65"), _
'        Range("C67:AF67 , C69:AF69 , C75:AG75 , C77:AG77 , C79:AG79 , C81:AG81 , C83:AG83 ,  _
C85:AG85 ,C91:AF91 , C93:AF93 , C95:AF95 , C97:AF97"), _
'        Range("C99:AF99 , C101:AF101, C107:AG107 , C109:AG109 , C111:AG111 , C113:AG113 , C115: _
AG115 , C117:AG117 , C123:AG123 , C125:AG125"), _
'        Range("C127:AG127 , C129:AG129 , C131:AG131 , C133:AG133 , C139:AF139 , C141:AF141 ,  _
C143:AF143 , C145:AF145 , C147:AF147 , C149:AF149"), _
'        Range("C155:AG155, C157:AG157 , C159:AG159 , C161:AG161 , C163:AG163 , C165:AG165 ,  _
C171:AF171 , C173:AF173 , C175:AF175 , C177:AF177 "), _
'        Range("C179:AF179 , C181:AF181, C187:AG187 , C189:AG189 , C191:AG191 , C193:AG193 ,  _
C195:AG195 , C197:AG197"))
'   die veränderten Zellen die im überwachten Bereich liegen auf die Variable schreiben
Set RaBereich = Intersect(RaBereich, Range(Target.Address))
If Not RaBereich Is Nothing Then                ' geänderte Zellen liegen im überwachten  _
Bereich
'        ActiveSheet.Unprotect                       ' Schutz aufheben
Application.EnableEvents = False            ' Reaktion auf Eingabe aus
Application.ScreenUpdating = False          ' Bildschirmaktualisierung aus
For Each RaZelle In RaBereich               ' Schleife über alle geänderten Zellen im ü _
berwachten Bereich
RaZelle.Value = UCase(RaZelle.Value)    ' Inhalt umwandeln in groß
Next RaZelle
Application.ScreenUpdating = True           ' Bildschirmaktualisierung ein
Application.EnableEvents = True             ' Reaktion auf Eingabe ein
'        ActiveSheet.protect
End If
Set RaBereich = Nothing                         ' Variable leeren
End Sub


Anzeige
AW: sverweis funktioniert nicht
25.10.2007 17:44:06
Hajo_Zi
Hallo jojo,
dann mach einen Code draus.

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'* H. Ziplies                                     *
'* 16.08.03                                       *
'* erstellt von Hajo.Ziplies@web.de               *
'* http://Hajo-Excel.de/
'   alle Buchstaben groß in einem definierten Bereich
Dim RaBereich As Range, RaZelle As Range
'   Bereich der Wirksamkeit
Set RaBereich = Range("D9:J9, l9:R9")
'   die veränderten Zellen die im überwachten Bereich liegen auf die Variable schreiben
Set RaBereich = Intersect(RaBereich, Range(Target.Address))
If Not RaBereich Is Nothing Then                ' geänderte Zellen liegen im überwachten _
Bereich
'        ActiveSheet.Unprotect                       ' Schutz aufheben
Application.EnableEvents = False            ' Reaktion auf Eingabe aus
Application.ScreenUpdating = False          ' Bildschirmaktualisierung aus
For Each RaZelle In RaBereich               ' Schleife über alle geänderten Zellen im ü  _
_
berwachten Bereich
RaZelle.Value = UCase(RaZelle.Value)    ' Inhalt umwandeln in groß
Next RaZelle
Application.ScreenUpdating = True           ' Bildschirmaktualisierung ein
Application.EnableEvents = True             ' Reaktion auf Eingabe ein
'        ActiveSheet.protect
End If
Set RaBereich = Nothing                         ' Variable leeren
Dim Bereich1 As Range
Set Bereich1 = Range("D10:DA42")
If Union(Target, Bereich1).Address = Bereich1.Address Then
If LCase(Target)  "" And LCase(Target)  "1" And LCase(Target)  "2" And _
LCase(Target)  "3" And LCase(Target)  "4" Then
MsgBox "Falsche Eingabe. Bitte Werte zwischen 1 und 4 eintragen!"
Target.Select
End If
End If
Set Bereich1 = Nothing
End Sub


ungetestet.
Gruß Hajo

Anzeige
AW: sverweis funktioniert nicht
25.10.2007 18:01:00
Jojo
genial, klappt super. Nochmals tausend Dank Hajo.
Viele Grüße, Jojo

337 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige