Excel 2010 VBA - Gefilterte Zelleninhalte löschen / leeren

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich habe jetzt mal in Spalte E, ab E3 ein paar Werte eingetragen, und dann einen Filter gesetzt und drei beliebige Werte gefiltert, also so, dass nur noch diese Werte sichtbar waren.
Dann habe ich diesen Teil Deines Makros laufen lassen:

Sub test() Range("E3").Select

Range(Selection, Selection.End(xlDown)).Select

Selection.SpecialCells(xlCellTypeVisible).Select

Selection.ClearContents

End Sub

...und diese drei Werte wurden gelöscht. Alle anderen - nicht sichtbaren - Werte blieben erhalten.
Wenn ich Deine Beschreibung in der Frage richtig verstanden habe, ist das genau das, was Du erreichen wolltest!!!???

P.S.:
Das Ganze lässt sich übrigens auch mit eine Einzeiler und ohne Select erreichen:

Range("E3", Range("E3").End(xlDown)).SpecialCells(xlCellTypeVisible).ClearContents

Frage also: WAS soll hier anders ablaufen?

Danke fürs ☆

0

Hilfe - ja gerne, aber ... es ist mehr Info nötig:

Wenn Du in der Lage bist, im VBA-Script zu schreiben:
1.) Nach händischer Filterung den Cursor auf die zu löschende Zeile stellen, im Makro die Zeile merken: Löschzeile = Selection.Row
2.) Im Makro dann die entsprechende Zelle leeren: Cells(Löschzeile,Spalte)=""

Alternativ: zeig uns mal das Makro, vielleicht ist es ja anpassbar.

Gruß aus Berlin

Nachfolgend der Auszug aus dem Makro...

ActiveSheet.Range("$A$2:$T$1769").AutoFilter Field:=8, Criteria1:=Array( _

"Kunde A", "Kunde C"), Operator:= _

xlFilterValues

Range("E3").Select

Range(Selection, Selection.End(xlDown)).Select

Selection.SpecialCells(xlCellTypeVisible).Select

Selection.ClearContents

0

Excel Tabelle mit VBA fortlaufend befüllen?

Hallo,

ich habe eine ziemlich schwierige Aufgabe zu lösen, zumindest für mich als VBA Amateur und bräuchte deswegen eure Hilfe, da ich daran schon seit Tagen verzweifle.

Die Aufgabenstellung ist folgende:

Es soll durch ein Kontrollfenster (1. Bild links) möglich sein, einen neuen Datensatz anzulegen, der dann automatisch in der Tabelle (1. Bild rechts) davon erscheint. Die Erstellung der Datensätze soll fortlaufend geschehen, d.h. falls bereits ein Datensatz in Zeile 4 vorliegt, dass der neue Datensatz automatisch in Zeile 5 (usw.) angelegt wird. Zuletzt soll dann das Kontrollfenster geleert werden, sodass es theoretisch möglich wäre, direkt einen weiteren Datensatz anzulegen.

Weiterhin soll dieser neu angelegte Datensatz mit dem "DiagrammA" im Reiter "Diagramm" verknüpft werden (X/Y-Werte und Name in der Legende), sodass dort auch automatisch dieser Datensatz erscheint (2. & 3. Bild).

(Optional): Die Möglichkeit zum Entfernen eines Datensatzes.

Vielen Dank!

...zur Frage

Excel vba formeln in Bereich kopieren ohne feste Werte zu löschen?

Hallo Zusammen,

ich möchte gerne mit einem commandbutton formeln in einem Bereich kopieren und auf einen anderen Bereich (selbes Layout) übertragen, aber ohne dabei feste Werte zu löschen.

Ich habe eine Grafik beigefügt, die als Beispiel dienen soll. Der Betrag von 20.000€ ist mit einer Formel aus Stunden und Stundensatz berechnet worden. Range("A1:B3") soll nun kopiert werden (nur die Formeln) und anschließend sollen diese in Range("A6:B8") eingefügt werden, allerdings ohne die festen Werte von "Stundensatz" und "Stunden" zu ersetzten duch 0 (das passiert nämlich immer wenn ich da Copy/Paste mache - egal ob mit "Inhalte einfügen" oder ohne)

Warum brauche ich für sowas ein Makro? (Das kann man doch auch per Hand machen!)

Die Tabelle ist in der Realität viel Größer (um die 1000 Zellen) und ich wollte die Bereiche dadurch schneller vereinheitlichen.

Danke schon mal für eure Unterstützung!

...zur Frage

Excel Makro VBA Zellen vergleichen und bei Übereinstimmung Zeile löschen

Hallo miteinander, kenne mich leider gar nicht in VBA aus und brauche dringend Hilfe für ein Projekt. Ich beschreibe mal kurz mein Problem: Im Worksheet "Objekt löschen" in zeile C6 soll eine Objekt ID eingegeben werden. Diese muss dann mit den Objekt IDs im Worksheet "Objektdaten" in der Spalte B verglichen werden. Wenn sie dort existiert, dann soll die gesamte Zeile, in der sich die eingegebene ID befindet, gelöscht werden. Das ganze soll funktionieren, indem man auf eine Schaltfläche auf dem 1. Tabellenblatt klickt. Ich hoffe, das war jetzt einigermaßen verständlich erklärt. Freue mich sehr über eure Hilfe Danke :) Rosi

...zur Frage

Hallo zusammen! Wie benenne ich Tabellenblätter automatisch nach einem Zelleninhalt mit einem Makro um welche ich aus einer anderen Datei kopiert habe?

Folgender Sachverhalt:

ich bekomme von verschiedenen Personen eine gleich formatierte Tabelle als Datei mit jeweils unterschiedlichen Werten. Diese Dateien werden per Makro in meine Datei als neues Tabellenblatt kopiert. Die Inhalte werden dann addiert und in einer Tabelle zusammengefasst. Dies alles funktioniert schon.

Mein Anliegen beschränkt sich lediglich auf die Umbenennung der kopierten Tabellenblätter auf den Inhalt der Zelle C 2. Sobald eine Datei als neues Tabellenblatt eingefügt wird soll dieses automatisch nach dem Inhalt der Zelle C2 umbenannt werden.

Mit folgendem Makro werden die Dateien eingefügt

Sub AlleSheetsAusAllenGewaehltenMappenInEineMappeZusammenfuegen()

Application.ScreenUpdating = False

Dim vntPathAndFileNames As Variant Dim strPathAndFile As String Dim lngI As Long Dim wbkMappe As Workbook Dim wksT As Worksheet Dim wbkZiel As Workbook

Set wbkZiel = ThisWorkbook

vntPathAndFileNames = Application.GetOpenFilename( _ Title:="Meine Dateien Mit gedrückter Strg Taste markieren!", _ MultiSelect:=True) If VarType(vntPathAndFileNames) = vbBoolean Then MsgBox "Keine Dateien ausgewählt! Einlesen wurde abgebrochen!" Else For lngI = LBound(vntPathAndFileNames) To UBound(vntPathAndFileNames) strPathAndFile = vntPathAndFileNames(lngI) Set wbkMappe = Application.Workbooks.Open(strPathAndFile) For Each wksT In wbkMappe.Worksheets wksT.Copy wbkZiel.Worksheets(wbkZiel.Worksheets.Count) Next wbkMappe.Close False Range("A1").Select

Next End If

Application.ScreenUpdating = True

End Sub

Bisher bin ich immer gescheitert und habe auch in diversen Foren nichts passendes gefunden.

Kann mir wer helfen?

Vielen Dank schonmal!

...zur Frage

Excel - benutzterdefinierte Symbolleiste löschen?

Hallo, ich habe eine Excel Datei, welche eine benutzerdefinierte Symbolleiste enthält. Diese wird unter Add Ins angezeigt. Die Datei enthält keine Makros, worüber die Symbolleiste gestartet wird. Ich benutzte Excel 2010 und 2013, die Datei wurde vermutlich mit einer älteren Excel Version erstellt. Ich würde diese Symbolleiste gerne löschen, habe schon mit Rechtsklick die Liste gelöscht. Ein Makro zum Löschen eingebaut. Aber immer wenn ich die Datei öffne ist die wieder da. Die Symbolleiste scheint an diese Datei gebunden zu sein. Ich würde die Datei gerne behalten aber ohne diese Symbolleiste. Ich möchte auch kein Makro einbauen, dass die Symbolleiste beim Öffnen immer gelöscht wird. Hat jemand einen Rat? Grüße und vielen Dank

...zur Frage

Hilfe bei Excel Makro das gefilterte Daten in eine andere Excel Datei kopieren soll?

Hallo, ich benötige ihre Hilfe bei der Erstellung eines VBA Makros für Excel. Das Makro soll folgendes leisten: Ich habe eine Excel Datei (Nr. 1) in der in einer Zelle ein Wert eingetragen wird. Nach diesem Wert soll dann in einer anderen Excel Datei (Nr. 2) gefiltert werden und anschließend sollen die gefilterten Daten aus Excel Datei Nr. 2 in die Excel Datei 1 kopiert werden. Ist das möglich?

Vielen Dank vorab für ihre Antworten.

...zur Frage

Was möchtest Du wissen?