Hilfe mit Makro
#11

.xlsx   Beispiel.xlsx (Größe: 333,82 KB / Downloads: 0)
Hier die Beispieldatei.
Wenn ich die Datei als XLS speichere sind doch alle Makros weg, oder?
Das führt dann wahrscheinlich nicht zum Ziel, da die Datei noch andere Makros benötigtWink
Hmmmm....

Danke für die bisherige schnelle Hilfe!
Top
#12
(13.08.2014, 08:28)Ilsfeld110 schrieb: Wenn ich die Datei als XLS speichere sind doch alle Makros weg, oder?

Nein, genau anders herum wird ein Schuh daraus. Entweder als *.xlsm speichern oder als *.xls. In beiden Fällen werden Makros mit gespeichert. Bei deiner Variante *.xlsx leider nicht ... Also bitte noch einmal Idea
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Top
#13
ok, anbei der zweite Versuch. Jetzt als XLSM, da die entsprechende XLS Datei aus unerfindlichen Gründen 15 MB groß ist.


Angehängte Dateien
.xlsm   Example.xlsm (Größe: 344,22 KB / Downloads: 3)
Top
#14
So,

habe es eben probiert und läuft:
Code:
Sub c_Fehler_filtern()
Dim DoNotWant
    Dim i As Long
    
    
    DoNotWant = Sheets("Whitelist").Range("Tabelle3") '<-- extend as needed
    Application.ScreenUpdating = False
    With Sheets("Rohdaten").Columns("A") '<-- adjust to suit your column
        For i = 1 To UBound(DoNotWant)
            .Replace What:=DoNotWant(i, 1), Replacement:="ERROR", LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                ReplaceFormat:=False
        Next i
    End With
    Application.ScreenUpdating = True
End Sub
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Top
#15
Funktioniert!!
Vielen Dank für die schnelle Hilfe.
Top
#16
Hi,

(13.08.2014, 15:37)Ilsfeld110 schrieb: ok, anbei der zweite Versuch. Jetzt als XLSM, da die entsprechende XLS Datei aus unerfindlichen Gründen 15 MB groß ist.

das ist ein entscheidender Unterschied zwischen den Formaten der Versionen Office 2003 und Office 2010-2013.

Als Tipp:
Es ist generell empfehlenswert, in jede VBA-Seite am Anfang den Begriff "Option Explicit" voranzustellen, da dann Variablen daraufhin überprüft werden, ob sie deklariert sind. Dies verhindert einige unerklärliche Reaktionen von Excel.

Hier aus der Hilfe:
Zitat:In Microsoft Visual Basic müssen Sie eine Variable nicht explizit deklarieren, bevor Sie sie in einer Prozedur verwenden. Wenn Sie eine nicht explizit deklarierte Variable verwenden, deklariert Visual Basic diese implizit als Variable des Datentyps Variant. Obwohl die Verwendung impliziter Deklarationen bequem ist, können sie leicht zu Fehlern im Code führen.

Sie können festlegen, dass Variablen vor der Verwendung in einer Prozedur deklariert werden müssen. Microsoft Access fügt automatisch im Deklarationsbereich aller neuen Module in der Datenbank, einschließlich der neuen Formularen oder Berichten zugeordneten Formularmodule und Berichtsmodule, die Anweisung Option Explicit hinzu.
  1. Klicken Sie im Menü Extras auf Optionen.
  2. Klicken Sie auf die Registerkarte Editor.
  3. Aktivieren Sie unter Codeeinstellungen das Kontrollkästchen Variablendeklaration erforderlich.

zum Zweiten glaube ich, das müßte auch so gehen:
Code:
.Replace What:=DoNotWant(i, 1), Replacement:="ERROR", LookAt:=xlPart, _
             SearchOrder:=xlByRows

anstatt
Code:
.Replace What:=DoNotWant(i, 1), Replacement:="ERROR", LookAt:=xlPart, _
             SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
             ReplaceFormat:=False

also alle Teile mit "False" einfach weglassen.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste