Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Sichtbare Zellen (gefiltert und ausgeblendet) aus einem Workbook in ein neues Kopieren

Mitglied: VBAFloh

VBAFloh (Level 1) - Jetzt verbinden

08.09.2011, aktualisiert 22:05 Uhr, 7225 Aufrufe, 4 Kommentare

Hallo zusammen,

bin noch grün im VBA und sehe den Wald vor lauter Bäumen nicht mehr. Kann mir bitte jemand die Augen öffnen...
Hab eine Tabelle gefiltert und Spalten ausgeblendet, diese Darstellung soll so mit VBA in eine neue Datei kopiert werden.

Die Tabelle ist umfangreich (hier wsQData), die Länge ist variabel

Dim wsData as Worksheet 'Quell - Daten
Dim wsNewReport as Worksheet 'Ziel -Daten

Mit verschiedenen Funktionen sind auf der Tabelle einige Zeilen herausgefiltert worden
gleichzeitig habe ich einige Spalten ausgeblendet (verschiedene VBA module)

Jetzt möchte ich genau diese Darstellung in eine neue Datei + neues Worksheet kopieren.
Also die ausgeblendeten Zeilen und Spalten sollen nicht kopiert werden.

Der MakroRecorder ergab so etwas:
01.
                           wsData.Activate 
02.
                           Cells.Select 
03.
                           Selection.Copy 
04.
                           wsNewReport.Activate 
05.
                           Application.CutCopyMode = False 
06.
                           ActiveSheet.PasteSpecial Format:=1, Link:=1, DisplayAsIcon:=False, _ 
07.
                                                  IconFileName:=False
Da gibt es aber eine Fehlermeldung in der letzten Zeile "Worksheet class" Fehler

ein weiterer Versuch war dies hier, aber auch ohneErfolg
01.
           wsData.Range.SpecialCells(xlVisible).Copy_ 
02.
           Destination:=wsNewReport.Range("A1")
Für jegliche Unterstützung wäre ich sehr dankbar!

Gruß
Floh

[Edit Biber] Auch Donnerstags Codetags [/Edit]
Mitglied: 76109
09.09.2011 um 20:20 Uhr
Hallo VBAFloh!

Eher so:
01.
Sub CopySpecialCells1() 
02.
    Sheets("Tabelle1").Cells.SpecialCells(xlVisible).Copy Destination:=Sheets("Tabelle2").Range("A1") 
03.
End Sub
oder so:
01.
Sub CopySpecialCells2() 
02.
    Dim Wks1 As Worksheet, Wks2 As Worksheet 
03.
     
04.
    Set Wks1 = Sheets("Tabelle1") 
05.
    Set Wks2 = Sheets("Tabelle2") 
06.
     
07.
    Wks1.Cells.SpecialCells(xlVisible).Copy Destination:=Wks2.Range("A1") 
08.
End Sub
Gruß Dieter
Bitte warten ..
Mitglied: VBAFloh
10.09.2011 um 14:17 Uhr
Hallo Dieter,

vielen Dank!!!!!!
Ja mit "Cells" hat er es dann genommen.
Allerdings hatte er dann irgendwie Probleme mit der Datenmenge gekriegt und ist abgeschmiert.


Es funktioniert jetzt, wenn ich einen genauen Range angebe.


Sub CopySpecialCells3()
Dim Wks1 As Worksheet, Wks2 As Worksheet

Set Wks1 = Sheets("Tabelle1")
Set Wks2 = Sheets("Tabelle2")

Wks1.Range("A1:EZ300").SpecialCells(xlVisible).Copy Destination:=Wks2.Range("A1")

End Sub



Das ist für mich auch ok, nur "EZ300" muß ich noch dynamisch ermitteln und dann variable übergeben.
Hierzu muß ich jetzt mal das Froum durchforsten, steht hier sicher schon irgendwo....

Was mir auch noch nicht gefällt ist, er übernimmt alle Formate außer die Spaltenbreite.
Gibt es hierfür noch einen Parameter, den ich dahinter schreiben muß?

Vielen Dank für die Unterstützung!

Gruß
Floh
Bitte warten ..
Mitglied: 76109
10.09.2011 um 17:41 Uhr
Hallo Floh!

Sofern sich im Kopierbereich keine Leerzeilen/Leerspalten befinden, in etwa so:
01.
Sub CopySpecialCells3() 
02.
    Dim Wks1 As Worksheet, Wks2 As Worksheet, CopyRange As Range, ColCount As Long 
03.
     
04.
    Set Wks1 = Sheets("Tabelle1") 
05.
    Set Wks2 = Sheets("Tabelle2") 
06.
     
07.
   'Kopierbereich bis zur 1. Leerzeile/Leerspalte 
08.
    Set CopyRange = Wks1.Range("A1").CurrentRegion 
09.
     
10.
   'Daten nach Ziel kopieren 
11.
    CopyRange.SpecialCells(xlVisible).Copy Destination:=Wks2.Range("A1") 
12.
  
13.
    With Wks2 
14.
        'Letzte Spalte in Ziel ermitteln 
15.
         ColCount = .Range("A1").CurrentRegion.Columns.Count 
16.
     
17.
        'Spaltenbreite automatisch anpassen 
18.
        .Range(.Columns(1), .Columns(ColCount)).AutoFit 
19.
    End With 
20.
End Sub
Gruß Dieter
Bitte warten ..
Mitglied: VBAFloh
10.09.2011 um 19:52 Uhr
Hallo Dieter,


vielen Dank!
Hat super geklappt mit der Region!

Das mit dem "AutoFit" ergibt nicht ganz das gewünschte Ergebnis, da ich Zellen mit Zeilenumbruch habe.

Aber da wird mir noch was einfallen.
Glaube ich hab Prinzip verstanden.
Wird wahrscheinlich auf eine Schleife mit der Queel Spaltenbreite hinauslaufen.

Vielen Dank nochmal und ein schönes WE.

Gruß
Floh
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Zelle suchen - nebenstehende Zellen in ein neues Blatt kopieren

Frage von GarantBerlinMicrosoft Office2 Kommentare

Hallo liebe Gemeinde, ich bin ziemlicher Neuling und bräuchte aber mal dringend euren Rat, folgendes: wenn in der Zelle ...

VB for Applications

Über VBA kopieren des gefilterten Bereiches

Frage von BlueLinesVB for Applications1 Kommentar

Hallo an Alle Könnte mir vielleicht jemand mit diesem Code weiterhelfen. 1. Problem: Er soll aus einer Mappe die ...

Papierkorb

Unter Windows 10 bekanntes WLAN nicht sichtbar, wenn SSID ausgeblendet?

Frage von 45455Papierkorb6 Kommentare

Hallo, spätestens seit der W10 1803 habe ich das Problem, dass alle Rechner bekannte WLAN-Netzwerke, die nicht broadcasten, nicht ...

Microsoft Office

Workbook open funktioniert nicht, wenn Workbook per Schaltfläche neu gestartet wird

gelöst Frage von mreskeMicrosoft Office14 Kommentare

Hallo folgende Vorgehensweise funktioniert nicht: a.) Geöffnetes Dokument (Test.xlsm) soll per Schaltfläche ("Close and Open") neu geöffnet werden. a.) ...

Neue Wissensbeiträge
Datenschutz

Die Datenkrake Google verlängert ihr Arme mal wieder ein wenig, automatische Anmeldung

Tipp von magicteddy vor 2 StundenDatenschutz

Benutzer mit einem Google Account und gespeicherten Zugangsdaten werden von chrome 69 automatisch bei Google angemeldet, natürlich alles zum ...

Verschlüsselung & Zertifikate
Meine Wissenssammlung zu Bitlocker
Erfahrungsbericht von DerWoWusste vor 1 TagVerschlüsselung & Zertifikate3 Kommentare

Die Motivation für diesen Beitrag waren die vielen Posts rund um dieses Thema, die deutlich machen, wie viele Einzelaspekte ...

E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 3 TagenE-Mail11 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 3 TagenHyper-V1 Kommentar

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Heiß diskutierte Inhalte
Hardware
Sophos SG135 - Routing
gelöst Frage von Xaero1982Hardware22 Kommentare

Moin Zusammen, ich ersetze gerade nen alten Cisco DualWAN Router durch eine SG 135. Ich muss bestimmte Ziele über ...

Datenschutz
Gilt ein Ransomware-Befall als Datenpanne nach DSGVO?
Frage von MOS6581Datenschutz22 Kommentare

Moin Kollegen, wenn sich jemand Ransomware einfängt und dadurch bspw. Kundendaten verschlüsselt werden; gilt dies dann als meldepflichtige Datenpanne ...

Windows 7
Mit gpedit gesetzte Richtlinien in rsop.msc nicht definiert und ausgegraut
gelöst Frage von 137006Windows 715 Kommentare

Hallo zusammen, anfangs verweise ich fairerweise daruf dass ich dieses Thema bereits im Forum angeschnitten habe, nachdem ich hier ...

Netzwerke
Hilfe bei der Planung meines Heimnetzwerks
Frage von DHD082Netzwerke15 Kommentare

Hallo zusammen, wir bauen gerade ein Einfamilienhaus, welches ich mit einem Heimnetzwerk ausstatten möchte. Da ich zwar auch in ...