Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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

Anzeige

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

Anzeige
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

Anzeige
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
;

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