[GastForen Programme Office Microsoft Office Sub Replace_From_List()

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Office - Alles fürs Büro
Themen
Beiträge
Moderatoren
Letzter Beitrag

Sub Replace_From_List()

pixel66
Beiträge gesamt: 7

20. Jan 2018, 15:09
Beitrag # 1 von 4
Bewertung:
(1572 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen

Ich habe in einem Excel unterschiedliche Inhalte aus dem Explorer (Datei) und einer Datenbank (Prod-ID_alt) zusammengestellt.
Gesamthaft sind das gegen 4800 Dateien in 5 Tabellen.
Die Dateibezeichnungen sind nicht nach Wunsch und müssen umbenannt werde.
Ich möchte das im excel erledigen; so habe ich eine bessere Übersicht.

Gibt’s dazu ein Script? Konnte im Netz noch nichts funktionelles finden.

Ablauf:
Inhalt in Spalte A z.B. «DAS_100391.eps» in der Spalte B suchen.
Entsprechender Eintrag aus Spalte B «PRO_458244_001_DAS_100391.eps» in Spalte C kopieren.

Spalte A: Datei
Spalte B: Prod-ID_alt
Spalte C: Prod-ID_neu ergibt die neue Dateibezeichnung

Vielen Dank für eure Unterstützung

Peter

Anhang:
1.Mappe1.xlsx (9.55 KB)   1.Mappe1.png (36.6 KB)
X

Sub Replace_From_List()

Klaus79
Beiträge gesamt: 306

21. Jan 2018, 16:08
Beitrag # 2 von 4
Beitrag ID: #561966
Bewertung:
(1522 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Peter,
probier mal:

Code
Sub ReplaceFromList() 
Dim i As Long
Dim lastRow As Long
Dim varSearch As Variant
Dim rng As Range
Dim rngSearch As Range
lastRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
Set rngSearch = Range("B2:B" & Cells(Rows.Count, "B").End(xlUp).Row)

Application.ScreenUpdating = False

For i = 2 To lastRow
varSearch = Range("A" & i)
For Each rng In rngSearch
If InStr(rng, varSearch) > 0 Then
Range("C" & i) = rng.Value
Exit For
End If
Next rng
Next i

Set rng = Nothing
Set rngSearch = Nothing

End Sub

Klappt's?

Gruß
Klaus


als Antwort auf: [#561957]

Sub Replace_From_List()

pixel66
Beiträge gesamt: 7

21. Jan 2018, 17:07
Beitrag # 3 von 4
Beitrag ID: #561969
Bewertung:
(1515 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Klaus

Dein Script funktioniert tadellos.
Jetzt versuch ich mal den Code zu verstehen; Buch mit sieben Siegeln.

Vielleich brauche ich mal eine Anpassung.

Vielen herzlichen Dank dafür.
Einen schönen Sonntag und guten Wochenstart
Peter


als Antwort auf: [#561966]

Sub Replace_From_List()

Klaus79
Beiträge gesamt: 306

22. Jan 2018, 13:33
Beitrag # 4 von 4
Beitrag ID: #561980
Bewertung:
(1463 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Peter,

zum besseren Verständnis habe ich Dir mal den Code kommentiert.
Vielleicht bekommst Du dann eine evtl. Anpassung selber gemacht ...

Code
Sub ReplaceFromList() 

'Deklarieren der Variablen:
'Long für Zeilen
'Variant für Suchwort
'Range für Zelle und Zellbereiche

Dim i As Long
Dim lastRow As Long
Dim varSearch As Variant
Dim rng As Range
Dim rngSearch As Range

'Ermitteln der letzten Zeile von Spalte A
lastRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
'Definieren des Suchbereichs in Spalte B: von Zeile 2 bis letzte Zeile Spalte B
Set rngSearch = Range("B2:B" & Cells(Rows.Count, "B").End(xlUp).Row)

'Bildschirmflackern ausschalten
Application.ScreenUpdating = False

'Die erste For-Next-Schleife durchsucht Spalte A nach dem 1. Suchwort,
'beginnend bei Zeile 2
For i = 2 To lastRow
'Das Suchwort in die Variable laden
varSearch = Range("A" & i)
'Mit der 2. For-Next-Schleife wird jede Zelle in Spalte B (rngSearch) beginnend
'von Zeile 2 bis Ende Spalte B auf das Suchwort (varSearch) untersucht
For Each rng In rngSearch
'Falls Suchwort gefunden ...
If InStr(rng, varSearch) > 0 Then
'... dann setze den Wert in Spalte C in die gleiche Zeile (i) wie das Suchwort ...
Range("C" & i) = rng.Value
'... und verlasse die innere Schleife ...
Exit For
'Ende der If-Anweisung
End If
'(Ende innere Schleife)
Next rng
' ... und erhöhe die Variable i um 1
'Dann gehe an den Anfang der ersten Schleife und lade
'das nächste Suchwort in die Variable
Next i

'Die Range-Variablen zurücksetzen
Set rng = Nothing
Set rngSearch = Nothing

End Sub

Gruß
Klaus


als Antwort auf: [#561969]
X

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
16.02.2019 - 29.06.2019

3400 Burgdorf, BE
Samstag, 16. Feb. 2019, 08.30 Uhr - Samstag, 29. Juni 2019, 08.30 Uhr

Lehrgang

Mit dem Erwerb des Zertifikats Publisher Basic beweisen Sie Ihre Kompetenz für die Mitarbeit bei der Gestaltung und Umsetzung von Publishing-Projekten. Das Zertifikat wird bei den Arbeitgebern immer bekannter; diese wissen, dass Sie mit diesem Abschluss sehr gutes KnowHow erworben haben. Nach erfolgreicher Absolvierung dieses Lehrgangs sind Sie in der Lage, die Zertifikatsprüfung abzulegen.

Ja

Organisator: PubliCollege GmbH

Kontaktinformation: Beat Kipfer, E-Mailinfo AT publicollege DOT ch

www.publicollege.ch

Publisher Basic
Veranstaltungen
28.02.2019

Impressed GmbH, Hamburg
Donnerstag, 28. Feb. 2019, 10.00 - 10.30 Uhr

Webinar

Wir stellen Ihnen anhand konkreter Workflows die Möglichkeiten und Vorteile einer automatischen PDF-Prüfung und -Korrektur vor.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Detlef Grimm, E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=113

Switch PDF Automation Server