Supportnet Computer Supportnet Games Supportnet Kochen Explipedia
Login: guestBesucher online: 337
Supportnet Computerforum
SUPPORT
Home
Forum
Tipps & Infos
Blitz Angebote
Members
Hilfe
Video

TOP THEMEN
SSD Test
Alles über SSDs

Android Tipps
iPad Tipps
Google Tipps
Windows 8 FAQ
Windows 7 FAQ
E-Mail FAQ
Netzwerk FAQ
Festplatten FAQ
Datenrettung FAQ
Bildbearbeitung FAQ

Top iPhone Apps
Computer Einsteiger
Die 5 besten...
Explipedia
Themen
Direktlinks

Neue Einträge
News einsenden News einschicken
Tipps einsenden Tipp einschicken

SN-LINKS

Suche
Befreundete Seiten
Top Seiten

Supportnet/Forum/Tabellenkalkulation



Supportnet/Forum/Tabellenkalkulation
von mabon vom 12.01.2018, 10:09 Diese Seite den Supportnet Favoriten hinzufügen  Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden


Zellen mit Cells(,) trotz Autofilter ansprechen

 (167 Hits)

Hallo. Ich habe ein Quelldatenblatt, in dem ich Zellen mit der Methode Cells( , ) ansprechen und deren Daten in ein Zieldatenblatt kopieren will. Ich mache das mit der Range Methode, also ohne Select, copy, paste.

Meine Herausforderung ist hier nur leider der Autofilter. Cells(1,1) bringe mir natürlich nicht den Wert der Zelle, die nach dem Setzen des Autofilters in Zeile1/ Spalte1 steht.

Hat jemand ne Idee, mit welcher Methode/ Prozedur ich das lösen kann?


Antwort schreiben 50 Bonuspunkte

Antworten...
Antwort 1 von M.O. vom 12.01.2018, 10:44 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo,

wenn du nur gefilterte Zellen durchlaufen willst, dann kannst du das so machen:

Sub Beispiel()

Dim rngC As Range

   For Each rngC In Range("A1:A100").Cells.SpecialCells(xlCellTypeVisible)
       MsgBox rngC.Value
   Next

End Sub

Bei dir könnte das dann vielleicht so aussehen:
Sub Beispiel()

   Dim rngC As Range

   For Each rngC In Range("A1:A100").Cells.SpecialCells(xlCellTypeVisible)
      Worksheets("Tabelle2").Cells(rngC.Row, 1) = Cells(rngC.Row, 5)
   Next

End Sub

Gruß

M.O.


Antwort noch nicht bewertet Als gute Antwort bewerten
Diese Antwort hat mein Problem gelöst
Antwort 2 von mabon vom 17.01.2018, 07:50 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hi. inspiriert von Deinem letzten Beitrag habe ich das jetzt so gelöst

Dim zelle As Range
Set zelle = intsortlist.Cells.Range("l5:l15000").SpecialCellsxlCellTypeVisible)

intsortlist.Cells.Range("l5:l15000").SpecialCells(xlCellTypeVisible).Copy _ Destination:=stada.Cells(zeile2, spalte2)


Antwort noch nicht bewertet
Antwort 3 von mabon vom 17.01.2018, 14:38 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hi.

Ich stehe leider eben vor dem nächsten Problem. Mit meiner Vorgehensweise zählt Excel solange die exakte Anzahl an Zeilen, solange die Zeilen im Bereich L5 bis L15000 genau der Reihe nach kommen.

Nehmen wir an, die Zeilen, die über den Autofilter gefiltert wurden sehen wie folgt aus:

Zeile 5
Zeile 6
Zeile 10
Zeile 11

Dann ist das Ergebnis nach der Zählung 2. Mit meiner Prozedur zählt VBA von Zeile 5 bis Zeile6. Die Zeilen 10 und 11, die ebenfalls zum sichtbaren Bereich gehören, werden nich mitgezählt.

Woran liegt das? Was mache ich falsch?


Antwort noch nicht bewertet
Antwort 4 von M.O. vom 17.01.2018, 15:03 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo,

um welchen Code geht es denn? Poste doch mal den Code der nicht funktioniert.

Gruß

M.O.


Antwort noch nicht bewertet Als gute Antwort bewerten
Diese Antwort hat mein Problem gelöst
Antwort 5 von mabon vom 18.01.2018, 09:54 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hi.

Der Code war:

Dim anzahl As Variant
anzahl = Sheets("tabelle1").Range("l5", Selection.End(xlDown)).SpecialCells(xlCellTypeVisible).Rows.Count

...oder zumindest so ähnlich. (Sorry, habe den alten Code bereits verworfen)

Da hat der Code aber nur bis zu einer bestimmten Zeile gezählt. Nämlich exakt alle zusammenhängenden Zeilen und mit dem zählen aufgehört.

Ich habe mein Problem jetzt mit der Subtotal - mehode gelöst und hat prima funktioniert. Der Code sieht jetzt wie folgt aus:

Dim anzpos2 As Variant
intsortlist.Activate
anzpos2 = Application.Subtotal(3, intsortlist.Cells.Range"l5:l15000"))

Das funktioniert prima.


Antwort noch nicht bewertet




Antwort schreiben
    Bitte einen 'Nickname' wählen.
Nickname:*
    (eMail-Adresse wird nicht veröffentlicht.)
eMail:
Nachricht: Ich möchte bei Antworten benachrichtigt werden.
    Hilfe zur Beitragsformatierung gibts [hier]
                   
Antwort:*
  Die Nutzungsbedingungen habe ich gelesen und akzeptiert.

MACHEN SIE IHRE WEBSITE ATTRAKTIVER
Sie haben eine eigene Website und wollen Ihre Besucher auf den Supportnet-Service aufmerksam machen? Kopieren Sie einfach den Quellcode in Ihre Seite und jeder Besucher Ihrer Seite kann direkt auf die Supportnet-Datenbank zugreifen.

My Supportnet


SUCHE

Gruppen im Forum
Betriebsysteme
Software
Hardware
Netzwerk
Programmierung
Sonstiges

Impressum © 1997-2018 Supportnet
Version: supportware 1.8.230E / 18.10.2010, Startzeit:Thu Jan 11 00:11:46 2018