Makro – die besten Beiträge

Wie kann ich bei VBA nach mehreren Kriterien in einer Zeile suchen?

Hallo zusammen.

Ich hab leider nix gescheites zu meiner Problemstellung gefunden, deshalb frage ich jetzt einfach mal direkt nach: Ich möchte in einer großen Tabelle nach mehreren Kriterien in der ersten Zeile suchen. In dieser Zeile sind Überschriften (aus einer .xml übernommen). Leider wiederholen sich die Überschriften ab und an, allerdings mit den unterschiedlichsten Ziffern als Anhängsel (zb AKMKaufteile, AKMKaufteile5, AKMKaufteile324...). Das wäre jetzt aber noch kein Problem, da ich ja normalerweise eh nur nach Teilen des Wortes suche. Ich habe allerdings auch Überschriften die ziemlich ähnlich sind und mit als Treffer gewertet werden so wie ich das mache (zb AKMKaufteileD34, AKMKaufteileB412... also immer entweder das D oder das B mit da drin, und diese Spalten brauche ich nicht).

Zusammengefasst möchte ich einfach nur die erste Zeile nach AKMKaufteile (das ohne D und B) suchen und auch die Zellen/Spalten haben, wo die Ziffern angehängt sind; es handelt sich dabei um Preise, bei D ist das Datum und B der Benutzername angegeben, letztere beiden sind uninteressant).

For i = 1 To 1000
   If InStr(1, Cells(1, i).Value, "AKMKaufteile") > 0 And InStr(1, Cells(1, i).Value, "AKMKaufteileB*") = 0 And InStr(1, Cells(1, i).Value, "AKMKaufteileD*") = 0 Then
      For j = 1 To 300
         If InStr(1, Cells(j, i).Value, "") > 0 Then
             Cells(j, i).Activate
              ActiveCell.Copy Destination:=Worksheets("Ergebnis").Cells(j, 10).Offset(1)
         End If
      Next j
         
   End If
Next i

(So klappt es leider nicht)

Vielen Dank für jeden Tipp der mich weiterbringt ::)

Gruß

Jan

Microsoft Excel, Filter, Makro, VBA

Wie erstelle ich eine variable intelligente Tabelle?

Eine Bestandsauswertung wird in Excel(2010) ausgegeben und tägl. in meine zu analysierende Tabelle in einem Blatt (Abl.Schleifpuffer) abgelegt bzw. überschrieben. In diesem Blatt soll mittels VBA eine intelligente Tabelle erstellt werden.

Per Aufzeichnung klappt das ganz gut, nur gibt es da paar Haken:

  1. sollte sich die Auswertung (Quelle) ändern aufgrund Programmanpassungen, verschieben sich auch die Zellen. So beginnt sie nicht von A11 sondern evtl. von B12

  2. erstelle ich eine intelligente Tabelle, so gibt mir das Makro immer die Größe von der zuerst erstellten Tabelle "$A$11:$N$853" wieder, sodass bei der nächsten Auswertung die Zeilen ab 854 gar nicht mit einfließen. D.h. die Auswertung wird tägl. gemacht und die Länge ist definitiv variabel.

Wie bekomme ich Excel dazu das er automatisch erkennt "Ab Spalte A und Zeile 11 beginnt die Tabelle" und endet bei Spalte A und Zeile 999.

Derzeit ist die Aufzeichnung so verlaufen:

    Sub konvertiere_Abl_als_Tabelle()
'
' konvertiere_Abl_als_Tabelle Makro
'

'
    Sheets("Abl. Schleifpuffer").Select
    Range("A11").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$11:$N$853"), , xlYes).Name = _
        "Abl.Schleifpuffer"
    Range("Abl.Schleifpuffer[#All]").Select
End Sub

Für eure Unterstützung wäre ich sehr dankbar.

Bild zum Beitrag
Microsoft Excel, Makro, VBA

Wie kann ich Word Textmarken mit einem Excel Makro befüllen?

Hallo liebes Gute Frage Forum,

ich bin ein blutiger Anfänger im Programmieren und möchte mich trotzdem an eine, wie ich finde, nicht ganz so leicht Aufgabe wagen.

Ich hoffe es erbarmt sich jemand und hilft mir weiter.

Meine Aufgabe:

Ich habe eine ExcelDatenbank die mehrere Einträge für mehrere Kunden verwaltet. ( Name, Anrede, Straße usw. )

Außerdem habe ich ein Word Dokument erstellt in das ich die Word Textmarken eingefügt habe ( Ebenfalls so benannt Name, Straße, Anrede usw. )

Nun möchte ich in Excel eine Zeile anklicken und anschließend das Makro ausführen. ( Das Makro soll dann nur für die Ausgewählte Zeile ausgeführt werden )

Die Vorlage soll aber nicht überschrieben werden, es soll ein neues Word Dokument erstellt werden, in dem die Felder dann ausgefüllt sind ( Am besten mit anderem Speicherpfad den ich dann auch direkt im Makro eingeben kann. )

Natürlich habe ich es auch schon selber versucht, allerding haben mir die Codeschnipsel die ich aus dem Internet geholt habe nicht ganz geholfen.

Hier mein Code: http://paste2.org/wFtw5UId

Mein Problem ist es nun, dass nur das letzte Textfeld wo ich die Referenz auf "Hallo" gesetzt habe befüllt werde, die anderen jedoch nicht obwohl excel keine fehlermeldung ausspuckt..

Außerdem hätte ichs gerne so wie oben beschrieben, dass er nur die Vorlage mit den Textmarken öffnet aber nicht überschreibt sondern ein neues Dokument mit den ausgefüllten Textmarken erstellt. (Pfad soll im Makro bestimmt werden)

Ich hoffe sehr das mir jmd. weiter helfen kann

Einen wunschönen Tag noch :)

Microsoft Word, Microsoft Excel, Makro, VBA, Datenbank, Vorlage, Befüllen

Meistgelesene Beiträge zum Thema Makro