Nach autofilter Wert eintragen und kopieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Nach autofilter Wert eintragen und kopieren
von: StingerMK
Geschrieben am: 19.04.2005 15:10:50
Hallo, ich habe folgendes Problem.
Ich habe in einer Tabelle einen Autofilter aktiviert, d.h. einige Zeilen sind schon durch den Autfilter ausgeblendet.
Ich möchte jetzt in einer anderen Spalte, die ich allerdings nur als Zahlenvariable habe (Bsp: 14 anstatt Spalte N) in der ersten sichtbaren Zelle
ein Wort "Kein Eintrag" eintragen und dieses in alle sichtbaren Zellen in dieser Spalte kopieren.
Bsp.:
In Spalte A (meine Spaltenvariable ist dann 1) sind die Daten, ich nutze den Autofilter in einer anderen Spalte, danach sind nur noch die Zeilen 4, 6 und 7 eingeblendet.
Es soll nun in Spalte A in Zeile 4 das Wort "Kein Eintrag" geschrieben werden, das ganze soll kopiert werden und auch in Zeile 6 und 7 eingetragen werden.
Ich hoffe ihr könntn mir helfen.
Danke!
Gruß,
StingerMK

Bild

Betrifft: AW: Nach autofilter Wert eintragen und kopieren
von: Boris
Geschrieben am: 19.04.2005 15:28:59
Hi,
Option Explicit

Sub kein_Eintrag()
Dim afRange As Range
Dim str As String
If ActiveSheet.FilterMode Then
    Set afRange = ActiveSheet.AutoFilter.Range.Columns(1).SpecialCells(12)
    str = afRange.Cells(1)
    afRange.Value = "kein Eintrag"
    afRange.Cells(1) = str
Else
    MsgBox "Kein Filter aktiv...", 64, "Hinweis..."
End If
End Sub


Grüße Boris
Bild

Betrifft: AW: Nach autofilter Wert eintragen und kopieren
von: StingerMK
Geschrieben am: 19.04.2005 16:12:02
Hi,
klappt irgendwie noch nicht ganz.
Ich bin absoluter Rookie, was VBA betrifft, kannst du das noch ein bisschen erläutern?

Sub kein_Eintrag()
Dim afRange As Range
Dim str As String
If ActiveSheet.FilterMode Then
    Set afRange = ActiveSheet.AutoFilter.Range.Columns(1).SpecialCells(12)
    str = afRange.Cells(1)
    afRange.Value = "kein Eintrag"
    afRange.Cells(1) = str
Else
    MsgBox "Kein Filter aktiv...", 64, "Hinweis..."
End If
End Sub

Die 1 bei ActiveSheet.AutoFilter.Range.Columns(1).SpecialCells(12) ist jetzt Spalte A, nehme ich mal an. Was muss ich da eingeben damit ich eine Variable (Bsp. Spalte_XY) ansteuern kann?
Wofür steht die 1 bei str = afRange.Cells(1). Ist damit die Zeile 1 gemeint. Ich habe allerdings Überschriften in Zeile 1, werden diese berücksichtigt?
Gruß,
S.
Bild

Betrifft: AW: Nach autofilter Wert eintragen und kopieren
von: Boris
Geschrieben am: 19.04.2005 16:25:34
Hi,
ich habe nur auf Dein Beispiel geantwortet:
Bsp.:
In Spalte A (meine Spaltenvariable ist dann 1) sind die Daten, ich nutze den Autofilter in einer anderen Spalte, danach sind nur noch die Zeilen 4, 6 und 7 eingeblendet.
Es soll nun in Spalte A in Zeile 4 das Wort "Kein Eintrag" geschrieben werden, das ganze soll kopiert werden und auch in Zeile 6 und 7 eingetragen werden.

Demzufolge zu deinen jetzigen Fragen:
Die 1 bei ActiveSheet.AutoFilter.Range.Columns(1).SpecialCells(12) ist jetzt Spalte A, nehme ich mal an.
Genau gesagt ist es einfach die erste Spalte im Bereich deines Autofilters. Wenn dieser in Spalte A beginnt, dann steht die 1 auch für A.
Was muss ich da eingeben damit ich eine Variable (Bsp. Spalte_XY) ansteuern kann?
Gib einfach die Variable anstatt der 1 an. Angesteuert wird dann die x.te Spalte in deinem Autofilterbereich. Und da der ja - wie bereits gesagt - wohl in Spalte A beginnt, ist die z.B. 14. Spalte auch identisch mit der 14. Spalte in Excel - also N.
Wofür steht die 1 bei str = afRange.Cells(1). Ist damit die Zeile 1 gemeint. Ich habe allerdings Überschriften in Zeile 1, werden diese berücksichtigt?
Mit dem Code werden alle sichtbaren Zellen in der betreffenden Spalte mit "kein Eintrag" beschrieben - und zu diesen gehört auch die Überschrift (Cells(1) - wie du richtig vermutest).
Daher wird diese vorher in eine temporäre Variable (str) eingelesen und nachher wieder zurück geschrieben.
Grüße Boris
Bild

Betrifft: AW: Nach autofilter Wert eintragen und kopieren
von: StingerMK
Geschrieben am: 19.04.2005 17:19:23
Sorry, klappt immer noch nicht,
jetzt sagt er mir immer, Fehlermeldung "1004", "das Diagramm kann nicht erstellt werden".
Was bedeutet denn die 12 bei Specialcells? So eine Syntax finde ich gar nicht in der Hilfe Datei.
Bild

Betrifft: Genau - der Joghurt hat aber keine Ecken...
von: Boris
Geschrieben am: 19.04.2005 17:29:58
Hi,
jetzt sagt er mir immer, Fehlermeldung "1004", "das Diagramm kann nicht erstellt werden".
?!?!?! Was hat ein Diagramm damit zu tun?!?
Lad doch mal Deine Mappe - auf´s Nötigste abgespeckt - hoch...
Was bedeutet denn die 12 bei Specialcells? So eine Syntax finde ich gar nicht in der Hilfe Datei.
Die 12 steht für die SpecialCells-Konstante xlCellTypeVisible.
Grüße Boris
Bild

Betrifft: AW: Genau - der Joghurt hat aber keine Ecken...
von: StingerMK
Geschrieben am: 19.04.2005 20:42:08
Hi,
ich poste die Mappe morgen hier in den Thread.
Wäre super, wenn du dann mal einen Blick rauf werfen könntest.
Danke schonmal für deine Gedult ;-)
Bild

Betrifft: AW: Genau - der Joghurt hat aber keine Ecken...
von: StingerMK
Geschrieben am: 20.04.2005 14:24:21
So, ich glaube ich habe einen Hinweis gefunden!
Und zwar: Dein Makro hat alleine funktioniert, nur wenn ich es in meine Tebelle einbinde, klappt es nicht mehr.
Meine Tabelle hat ca. 49000 Datensätze, das packt er nicht. Lösche ich 20000 weg funktioniert das Makro wieder.
Kann man die Lösung anpassen, dass sie auch mit größeren Tabellen funktioniert?
Gruß
Bild

Betrifft: Keine Ahnung...
von: Boris
Geschrieben am: 20.04.2005 14:50:49
Hi,
...ob es dabei möglicherweise Limitationen gibt hinsichtlich der SpecialCells etc.
Frage daher noch offen.
Grüße Boris
Bild

Betrifft: AW: Keine Ahnung...
von: StingerMK
Geschrieben am: 21.04.2005 08:35:54
Ich habe auch mal folgendes Scenario ausprobiert:
Die große Liste per Hand mit Autofilter versehen und gefiltert.
Anzahl der gefilterten Daten: ca. 30.000
Jetzt habe ich in den ersten gefilterten Datensatz einen KOmmentar geschrieben, diesen kopiert, alle anderen gefilterten Datens. markiert und eingefügt.
Hier gibt er mir wieder die Fehlermeldung. Er fügt die Daten zwar ein (Beim Makro macht er dies halt auch schon nicht), er übergeht aber den Autofilter und fügt den Kommentar in jede Zeile ein, unabhängig vom Filter.
Das heißt es gibt beim Autofilter wohl generell eine Begrenzung.
Ein Kollege sagte mir gestern, dass es bei einer früheren Excelversion mal eine Begrenzung von ca. 16.000 Zeilen gab. Vielleicht hat es was damit zu tun?
Bild

Betrifft: AW: Keine Ahnung...
von: Herbert
Geschrieben am: 23.04.2005 14:26:38
Hi,
genauso ist es, auch einige Funktionen sind auf diese 16384 Zeilen beschränkt, manche
sogar auf noch weniger. Ab Excel XP gibt es dies Einschränkung nicht mehr.
mfg Herbert
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Nach autofilter Wert eintragen und kopieren"