Thema Datum  Von Nutzer Rating
Antwort
07.04.2017 16:22:54 TanjaE
NotSolved
07.04.2017 16:57:28 BigBen
****
NotSolved
07.04.2017 17:43:16 TanjaE
NotSolved
07.04.2017 18:46:50 BigBen
NotSolved
08.04.2017 19:34:04 TanjaE
*****
NotSolved
Blau Suchen und Ersetzen mit VBA
09.04.2017 10:20:12 BigBen
*****
NotSolved
09.04.2017 22:01:52 TanjaE
NotSolved
10.04.2017 13:23:19 Gast63081
NotSolved

Ansicht des Beitrags:
Von:
BigBen
Datum:
09.04.2017 10:20:12
Views:
662
Rating: Antwort:
  Ja
Thema:
Suchen und Ersetzen mit VBA

Hallo Tanja,

der nachstehende Code durchsucht alle Inhalte der Spalte BD und ersetzt die falschen Inhalte:

Private Const tischeKorrektPath = "C:\Tanja\Makro\KorrekteTische.xlsx"
Private Const tableNameDestination = "Tabelle1"
Private Const tableNameTischeKorrekt = "Tabelle1"


' Hinweis:
' Der Tischname in der Arbeitsmappe TischeKorrekt darf nicht verbunden werden mit anderen Zellen!
' verbundene Zellen werden nicht gefunden.

Sub ValidateTische()
    Dim shSource As Worksheet ' Enthält korrekt Angaben
    Dim shDest As Worksheet ' Enthält zu prüfende Angaben
    Dim wbk As Workbook
    Dim Rng As Range, RngSourceFind As Range, rngFound As Range, rngWork As Range
    Set shDest = ActiveWorkbook.Worksheets(tableNameDestination)
    If Dir(tischeKorrektPath) = "" Then
        MsgBox "Die Datei """ & tischeKorrektPath & """ kann nicht gefunden werden.", vbCritical
        Exit Sub
    End If
    On Error Resume Next
    Set wbk = Application.Workbooks.Open(tischeKorrektPath)
    If Not Err.Number = 0 Then
        Err.Clear
        MsgBox "Die Datei """ & tischeKorrektPath & """ kann nicht gelesen werden.", vbCritical
        Exit Sub
    End If
    On Error GoTo 0
    Set shSource = wbk.Worksheets(tableNameTischeKorrekt)
    Set RngSourceFind = Intersect(shSource.Columns(1), shSource.UsedRange)
    
    For Each Rng In Intersect(shDest.Range("BD:BD"), shDest.UsedRange)
        Set rngFound = RngSourceFind.Find(What:=Rng.Value, LookIn:=xlValues, Lookat:=xlWhole)
        If Rng.Row = 1 And rngFound Is Nothing Then
                Rng.Worksheet.Activate
                Rng.Select
                MsgBox "Spalte nicht vorhanden", vbCritical
                Exit For
        End If
        If Rng.Row > 1 And Not rngFound Is Nothing Then
            Rng.Value = rngFound.Offset(ColumnOffset:=1).Value
        End If
    Next
    wbk.Close
End Sub

Wichtiger Hinweis: Bei Testlauf wurde wurde festgestellr, dass verbundene Zellen nicht gefunden werden können. Ursache ist unbekannt.
Daher darf bspw. der Tischname in der Arbeitsmappe KorrekteTische.xlsx nicht mit der Zelle B1 verbunden werden.

LG, BigBen


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
07.04.2017 16:22:54 TanjaE
NotSolved
07.04.2017 16:57:28 BigBen
****
NotSolved
07.04.2017 17:43:16 TanjaE
NotSolved
07.04.2017 18:46:50 BigBen
NotSolved
08.04.2017 19:34:04 TanjaE
*****
NotSolved
Blau Suchen und Ersetzen mit VBA
09.04.2017 10:20:12 BigBen
*****
NotSolved
09.04.2017 22:01:52 TanjaE
NotSolved
10.04.2017 13:23:19 Gast63081
NotSolved