Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Sverweis für Gross-Kleinschreibung

Sverweis für Gross-Kleinschreibung
12.12.2007 18:14:00
maexchen22
Hallo,
ich habe 2 Excel-Dateien
Aus der 1. Datei sollen Daten in eine 2. Datei per SVERWEIS übernommen werden (in diesem Fall Zuweisung von Gewichten)
Auszug aus 1. Datei:
B1: /abCd C1: 10,5
B2: /abCD C2: 1936,45
...
In o.a. Beispiel sind die Strings immer 5 Zeichen lang, die Längen variieren, die maximale Länge der Strings in Spalte B ist 56 Zeichen.
Problematisch ist, dass SVERWEIS nicht auf Gross-Kleinschreibung achtet -> für meine Anforderung ist das aber unumgänglich!
Mein Ansatz ist:
in beiden Dateien den String (also z.B. von Zelle B1) "/abCd" aufzuteilen (...MID(A1;1;)....) und dann den ASCII-CODE davon zu ermitteln und diese ASCII-CODES aneinanderzureihen.
Aufgrund der enstehenden Zeichenfolge möchte ich dann den SVERWEIS durchführen...
-> aus /abCD soll 47-97-98-68-100 werden
War aber nicht erfolgreich mit meinen Versuchen:

Sub asciicodevonstringermitteln()
Dim laenge, i, lastrow As Integer
Dim umzuwandeln As String
lastrow = Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To lastrow
umzuwandeln = Cells(i, 2).Value
laenge = Len(umzuwandeln)
Cells(i, 1).Select
If laenge = 1 Then
ActiveCell.FormulaR1C1 = "=CODE(MID[RC[1],1,1))"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
ElseIf laenge = 2 Then
ActiveCell.FormulaR1C1 = "=CODE(MID[RC[1],1,1))&""-""&CODE(MID(RC[1],2,1))"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
ElseIf laenge = 3 Then
ActiveCell.FormulaR1C1 = "=CODE(MID[RC[1],1,1))&""-""&CODE(MID(RC[1],2,1))&""-""&CODE( _
MID(RC[1],3,1))"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
ElseIf laenge = 4 Then
ActiveCell.FormulaR1C1 = "=CODE(MID[RC[1],1,1))&""-""&CODE(MID(RC[1],2,1))&""-""&CODE( _
MID(RC[1],3,1))&""-""&CODE(MID(RC[1],4,1))"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
ElseIf laenge = 5 Then
ActiveCell.FormulaR1C1 = "=CODE(MID[RC[1],1,1))&""-""&CODE(MID(RC[1],2,1))&""-""&CODE( _
MID(RC[1],3,1))&""-""&CODE(MID(RC[1],4,1))&""-""&CODE(MID(RC[1],5,1))"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
End If
Cells(i, 1).Select
Next i
Application.CutCopyMode = False
End Sub


Was mache ich falsch?
Gibt es "bessere" Ansätze?

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sverweis für Gross-Kleinschreibung
12.12.2007 19:06:35
Harry
Hallo Max,
verwende statt SVERWEIS eine Kombination aus SUMME und IDENTISCH
Beispiel
Wert in G3, deine Werteliste in B1:C100
G4 {=SUMME(IDENTISCH(B1:B100;G3)*C1:C100)}
geschweifte Klammer nicht eingeben, sondern mittels Shift-Strg-Enter als Matrixformel eintragen.
Gruß
Harry

Anzeige
AW: Sverweis für Gross-Kleinschreibung
12.12.2007 21:34:46
Daniel
Hi
warum aufwendig mit Makro, wenns diese Formel auch tut?

=TEXT(CODE(TEIL(A1;1;1));"000-")&TEXT(CODE(TEIL(A1;2;1));"000-")&TEXT(CODE(TEIL(A1;3;1));"000-") &TEXT(CODE(TEIL(A1;4;1));"000-")&TEXT(CODE(TEIL(A1;5;1));"000") 


Gruß, Daniel

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige