Thema Datum  Von Nutzer Rating
Antwort
30.11.2015 16:34:11 Christy
Solved
30.11.2015 17:10:04 Gast33422
NotSolved
02.12.2015 18:48:08 Gast34486
NotSolved
01.12.2015 19:48:46 Gast7757
NotSolved
02.12.2015 18:46:28 Gast74363
NotSolved
02.12.2015 20:07:40 Gast17752
NotSolved
28.12.2015 14:28:41 Gast85905
NotSolved
28.12.2015 18:27:36 Gast36168
*****
NotSolved
28.12.2015 18:29:04 Gast64978
*****
NotSolved
29.12.2015 14:46:23 Christy
NotSolved
29.12.2015 23:08:42 Gast14895
NotSolved
30.12.2015 00:25:31 Christy
NotSolved
30.12.2015 13:30:05 Gast30668
*****
NotSolved
30.12.2015 15:13:44 Christy
NotSolved
30.12.2015 15:32:00 Gast83878
NotSolved
30.12.2015 15:47:45 Christy
NotSolved
30.12.2015 16:03:49 Gast44293
NotSolved
30.12.2015 16:13:44 Christy
NotSolved
30.12.2015 16:25:29 Gast36885
NotSolved
30.12.2015 16:49:19 Christy
NotSolved
30.12.2015 17:34:04 Gast62394
NotSolved
30.12.2015 18:49:59 Christy
NotSolved
30.12.2015 19:23:30 Gast73856
NotSolved
30.12.2015 19:56:55 Christy
NotSolved
30.12.2015 19:34:02 Gast87846
NotSolved
30.12.2015 20:06:06 Christy
NotSolved
31.12.2015 12:24:53 Gast29201
NotSolved
01.01.2016 12:10:59 Gast58387
*****
NotSolved
Rot Werte aus einem Sheet in ein anderes Worksheet suchen und ersetzen
01.01.2016 14:37:42 Gast94004
*****
NotSolved
01.01.2016 15:04:24 Gast28024
NotSolved
02.01.2016 15:11:36 Gast94933
NotSolved
02.01.2016 17:56:32 Gast96708
NotSolved
02.01.2016 18:59:46 Gast5675
*****
Solved
02.01.2016 23:38:36 Christy
NotSolved
03.01.2016 19:39:39 Gast96711
NotSolved
04.01.2016 21:12:58 Christy
NotSolved
04.01.2016 21:12:59 Christy
NotSolved
05.01.2016 10:11:16 Gast49661
NotSolved
05.01.2016 11:20:48 Christy
NotSolved
05.01.2016 11:27:10 Christy
NotSolved
05.01.2016 11:55:41 Gast29688
NotSolved
05.01.2016 13:00:29 Christy
NotSolved
06.01.2016 10:33:21 Gast15834
*****
NotSolved
06.01.2016 13:54:19 Christy
NotSolved
06.01.2016 16:39:54 Gast93769
*****
Solved
06.01.2016 19:53:36 Christy
NotSolved
06.01.2016 20:07:47 Gast83679
*****
Solved
06.01.2016 23:58:43 Christy
NotSolved
07.01.2016 00:04:03 Gast57954
NotSolved

Ansicht des Beitrags:
Von:
Gast94004
Datum:
01.01.2016 14:37:42
Views:
908
Rating: Antwort:
  Ja
Thema:
Werte aus einem Sheet in ein anderes Worksheet suchen und ersetzen

Hab noch zwei Sachen getauscht - der Laufzeit wegen und falls die 30 Parameter die Fürhungsnull bei einstelligen Werten nicht haben. Gruß

 

Option Explicit

Sub ersetzen()

Dim ziel As String      'die Datei mit dem Code
Dim quelle As String    'die Datei in der ersetz wird
Dim pfad As String      'Pfad zur Datei in der ersetzt wird
Dim suche As String     'der Text der gesucht wird, PARAMETER
Dim ersetz              ' Wert die dann eingefügt werden , Spalte 3
Dim ergebnis As Object           'Rückgabewert des Ersetzen
Dim i As Long
Dim j As Long              'Variable zu zählen
Dim l As Long
Dim k As Long
Dim letzter
Dim temp As String
Dim zeilen As Long
Dim parameter() As String
Dim spalte As Long
Dim loschen() As Byte

Application.ScreenUpdating = False

ziel = ThisWorkbook.Name
pfad = "C:\Users\ich\Desktop\Programmieung\hallo\Neuer Ordner"     'noch anpassen
If Right(pfad, 1) <> "\" Then pfad = pfad & "\"

quelle = "Datei2.xls"  'x

ReDim loschen(0)
loschen(0) = 0

ReDim parameter(6, Workbooks(ziel).Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row)
parameter(1, 0) = 0
parameter(3, 0) = 0
parameter(5, 0) = 4
'parameter auslesen
For i = 1 To Workbooks(ziel).Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row
    If Workbooks(ziel).Worksheets(1).Cells(i, 1) <> "" Then
        temp = Workbooks(ziel).Worksheets(1).Cells(i, 1)
        If Len(temp) <> Len(Replace(temp, "pBUKRS", "")) Then
            'ein Parameter der Sorte pBUKRS%%
                parameter(1, 0) = parameter(1, 0) + 1
                parameter(1, parameter(1, 0)) = Workbooks(ziel).Worksheets(1).Cells(i, 1)
                parameter(2, parameter(1, 0)) = Workbooks(ziel).Worksheets(1).Cells(i, 5)
       
        Else
            Select Case temp
                Case "pBUDATto"
                    parameter(5, 1) = "pBUDATto"
                    parameter(6, 1) = Workbooks(ziel).Worksheets(1).Cells(i, 5)
                    
                Case "pUDATEto"
                    parameter(5, 2) = "pUDATEto"
                    parameter(6, 2) = Workbooks(ziel).Worksheets(1).Cells(i, 5)
                    
                Case "pZALDTto"
                    parameter(5, 3) = "pZALDTto"
                    parameter(6, 3) = Workbooks(ziel).Worksheets(1).Cells(i, 5)
                    
                Case "pWADAT_ISTto"
                    parameter(5, 4) = "pWADAT_ISTto"
                    parameter(6, 4) = Workbooks(ziel).Worksheets(1).Cells(i, 5)
                
                Case ""
                
                Case Else
                    parameter(3, 0) = parameter(3, 0) + 1
                    parameter(3, parameter(3, 0)) = Workbooks(ziel).Worksheets(1).Cells(i, 1)
                    parameter(4, parameter(3, 0)) = Workbooks(ziel).Worksheets(1).Cells(i, 5)
                    
            End Select
        End If
    End If
Next i

'Dateien laden
ziel = ThisWorkbook.Name
pfad = "C:\Users\ich\Desktop\Programmieung\hallo\Neuer Ordner"     'noch anpassen
If Right(pfad, 1) <> "\" Then pfad = pfad & "\"

quelle = "Datei2.xls"  'x

Workbooks.Open Filename:=pfad & quelle
zeilen = Workbooks(quelle).Worksheets(1).Cells(Rows.Count, 3).End(xlUp).Row
If zeilen < Workbooks(quelle).Worksheets(1).Cells(Rows.Count, 4).End(xlUp).Row Then zeilen = Workbooks(quelle).Worksheets(1).Cells(Rows.Count, 4).End(xlUp).Row
ReDim loschen(zeilen)

For k = 1 To zeilen
    loschen(k) = 0
Next k

For k = 1 To zeilen
    loschen(k) = 0
Next k

For k = 1 To 3

    If k = 1 Or k = 2 Then
                spalte = 3
            Else
                spalte = 4
            End If
    For l = parameter(2 * k - 1, 0) To 1 Step -1

        suche = parameter(2 * k - 1, l)
        If suche <> "" Then
            ersetz = parameter(2 * k, l)
            
            
            With Workbooks(quelle).Worksheets(1).Columns(spalte)
            Set ergebnis = .Find(suche, LookIn:=xlValues)

            If Not ergebnis Is Nothing Then
                letzter = Application.WorksheetFunction.CountIf(Workbooks(quelle).Worksheets(1).Columns(spalte), "*" & suche & "*")
               
                For j = 1 To letzter
                    If ersetz = "" And k = 1 Then
                        loschen(0) = loschen(0) + 1
                        loschen(ergebnis.Row) = 1
                    Else
                        Workbooks(quelle).Worksheets(1).Cells(ergebnis.Row, spalte) = Replace(Workbooks(quelle).Worksheets(1).Cells(ergebnis.Row, spalte), suche, ersetz)
                    End If
                    Set ergebnis = .FindNext(ergebnis)
                Next j
                
             End If
   
            End With
            Set ergebnis = Nothing
          
        End If 'Verglich ob leer
    Next l
Next k

'jetzt löschen
For j = UBound(loschen) To 1 Step -1
      If loschen(j) = 1 Then Workbooks(quelle).Worksheets(1).Rows(j).Delete
Next j

Application.CutCopyMode = False
Workbooks(ziel).Activate

Workbooks(quelle).Close savechanges:=True

Application.ScreenUpdating = True
End Sub


 


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
30.11.2015 16:34:11 Christy
Solved
30.11.2015 17:10:04 Gast33422
NotSolved
02.12.2015 18:48:08 Gast34486
NotSolved
01.12.2015 19:48:46 Gast7757
NotSolved
02.12.2015 18:46:28 Gast74363
NotSolved
02.12.2015 20:07:40 Gast17752
NotSolved
28.12.2015 14:28:41 Gast85905
NotSolved
28.12.2015 18:27:36 Gast36168
*****
NotSolved
28.12.2015 18:29:04 Gast64978
*****
NotSolved
29.12.2015 14:46:23 Christy
NotSolved
29.12.2015 23:08:42 Gast14895
NotSolved
30.12.2015 00:25:31 Christy
NotSolved
30.12.2015 13:30:05 Gast30668
*****
NotSolved
30.12.2015 15:13:44 Christy
NotSolved
30.12.2015 15:32:00 Gast83878
NotSolved
30.12.2015 15:47:45 Christy
NotSolved
30.12.2015 16:03:49 Gast44293
NotSolved
30.12.2015 16:13:44 Christy
NotSolved
30.12.2015 16:25:29 Gast36885
NotSolved
30.12.2015 16:49:19 Christy
NotSolved
30.12.2015 17:34:04 Gast62394
NotSolved
30.12.2015 18:49:59 Christy
NotSolved
30.12.2015 19:23:30 Gast73856
NotSolved
30.12.2015 19:56:55 Christy
NotSolved
30.12.2015 19:34:02 Gast87846
NotSolved
30.12.2015 20:06:06 Christy
NotSolved
31.12.2015 12:24:53 Gast29201
NotSolved
01.01.2016 12:10:59 Gast58387
*****
NotSolved
Rot Werte aus einem Sheet in ein anderes Worksheet suchen und ersetzen
01.01.2016 14:37:42 Gast94004
*****
NotSolved
01.01.2016 15:04:24 Gast28024
NotSolved
02.01.2016 15:11:36 Gast94933
NotSolved
02.01.2016 17:56:32 Gast96708
NotSolved
02.01.2016 18:59:46 Gast5675
*****
Solved
02.01.2016 23:38:36 Christy
NotSolved
03.01.2016 19:39:39 Gast96711
NotSolved
04.01.2016 21:12:58 Christy
NotSolved
04.01.2016 21:12:59 Christy
NotSolved
05.01.2016 10:11:16 Gast49661
NotSolved
05.01.2016 11:20:48 Christy
NotSolved
05.01.2016 11:27:10 Christy
NotSolved
05.01.2016 11:55:41 Gast29688
NotSolved
05.01.2016 13:00:29 Christy
NotSolved
06.01.2016 10:33:21 Gast15834
*****
NotSolved
06.01.2016 13:54:19 Christy
NotSolved
06.01.2016 16:39:54 Gast93769
*****
Solved
06.01.2016 19:53:36 Christy
NotSolved
06.01.2016 20:07:47 Gast83679
*****
Solved
06.01.2016 23:58:43 Christy
NotSolved
07.01.2016 00:04:03 Gast57954
NotSolved