Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1468to1472
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Array Werte aus Zellen inhalt

Array Werte aus Zellen inhalt
28.01.2016 09:59:39
Jürgen
Hallo,
ich importiere aus einem txt Dokument Daten die nur aus Kürzel bestehen,
diese ändere ich mir dann mit unterstehendem Code um (z.b. F-VSt = F, oder HaWe = F)sozusagen suchen und ersetzen, dies funktioniert auch ohne Probleme.
Nur ist dieses Array halt fest im Code geschrieben, ich würde es gerne über Einträge in einer Tabelle machen z.b.
arName1 = Sheets("Einstellungen").Range("C1:C60").Value
arName2 = Sheets("Einstellungen").Range("D1:D60").Value
dies funktiniert natürlich nicht so einfach , ist nur das man versteht was ich will , eine Spalte steht was ersetz werden soll und daneben durch was.
vielleicht hat jemand eine Lösung afür, denke es ist recht einfach... ich komm aber nicht drauf :-)
Vielen Dank
Dim rngBer As Range
Dim vntZelle As Variant
Dim arName1 As Variant
Dim arName2 As Variant
Dim i As Integer
arName1 = Array("F -WE / F - WE", "S-V", "F-V", "F-ZS2", "F-VSt", "HaWe", "F-SF", "F-Shu", "FS", "F-PV", "F_HKo", "F-WE", "F-Ex", "F-MK", "F-Br", "F-Lag", "F-UHD", "F-KM", "F-BRS", "F-Ab", "F-Anl", "FT", "F-HF", "F-WV", "F-KoHF", "NSO", "NT", "N-VST", "NS", "N-SF", "N-Ab", "N-UHD", "N-Anl", "N-WV", "NO", "NT", "NS", "N-V", "S-SF", "S-ZS2", "S-ZS1", "S-VST", "S-Shu", "S-PV", "S_HKo", "S-WE", "S-Ex", "S-MK", "S-Br", "S-Lag", "S-UHD", "S-Ab", "SS", "SST", "ST", "S-BRS", "S-Anl", "S-WV", "S-KoH", "S-HF")
arName2 = Array("F", "S", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "N", "N", "N", "N", "N", "F", "N", "N", "N", "N", "N", "N", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S", "S")
Set rngBer = Range("E9:NE195")
For i = 0 To 59
For Each vntZelle In rngBer
Call UpdatePercentage(i * 0.017)
If UCase(vntZelle.Value) = UCase(arName1(i)) Then vntZelle.Value = arName2(i)
If i = 59 Then
MsgBox ("Import erfolgreich!")
End If
Next

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array Werte aus Zellen inhalt
28.01.2016 12:12:05
Rudi
Hallo,
dies funktiniert natürlich nicht so einfach
doch, genauso einfach ist das.
Allerdings reicht 1 Array.
arName1 = Sheets("Einstellungen").Range("C1:D60").Value
....
....
If UCase(vntZelle.Value) = UCase(arName1(i,1)) Then vntZelle.Value = arName2(i,2)
Gruß
Rudi

AW: Array Werte aus Zellen inhalt
28.01.2016 12:42:24
Jürgen
Hallo,
funktioniert so leider auch nicht, bringt mir den selben Fehler: Index außerhalb des gültigen bereichs!
hab es so probiert
If UCase(vntZelle.Value) = UCase(arName1(i,1)) Then vntZelle.Value = arName2(i,2)
und auch so
If UCase(vntZelle.Value) = UCase(arName1(i,1)) Then vntZelle.Value = arName1(i,2)
LG Jürgen
wegen dem nur 1 Array

Anzeige
for i=1 to 60 owT
28.01.2016 12:52:00
Rudi

AW: Array Werte aus Zellen inhalt
28.01.2016 12:52:42
Jürgen
Ok den Index Fehler hab ich gefunden ,
for i = 0 to 59
hab ich ersetzt durch
for i = 1 to 60
sind 60 zeilen..
jetzt läuft alles durch, ersetzt wird aber nicht...

AW: Array Werte aus Zellen inhalt
28.01.2016 12:59:34
Rudi
dann wird der Vergleich
If UCase(vntZelle.Value) = UCase(arName1(i,1)) Then vntZelle.Value = arName1(i,2)
fehlschlagen.
Gruß
Rudi

deine For Each vntZelle-Schleife ...
28.01.2016 13:08:57
Rudi
... ist ziemlicher Quatsch.
Einfacher per Replace-Methode
Sub Makro1()
Dim i As Integer, arrRep
arrRep = Sheets("Einstellungen").Range("C1:D60")
For i = 1 To 60
Range("E9:NE195").Replace _
What:=arrRep(i, 1), Replacement:=arrRep(i, 2), _
LookAt:=xlWhole, SearchOrder:=xlByRows, _
MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
Next i
End Sub

Gruß
Rudi

Anzeige
AW: Array Werte aus Zellen inhalt
28.01.2016 13:17:50
Jürgen
Vielen vielen Dank... ich habe den fehler gefunden...
ich hab die werte für arName1 kopiert, und es war vor jedem wert ein leerzeichen... darum konnte es auch nicht gefunden werden...
dein Tip war goldrichtig das die werte nicht gleich sind!
vielen Dank nochmal...
LG jürgen

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige