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, 7346 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

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.) ...

Windows Server

DFS - Ordner werden nicht ausgeblendet

Frage von Herbi1984Windows Server2 Kommentare

Hi Leute, Habe bei uns DFS seit kurzem im Einsatz. Habe beim Anlegen des Namespaces vergessen den Haken reinzumischen, ...

Batch & Shell

(PS) Liste mit der nach Ordnernamen gefiltert wird

gelöst Frage von functionstrutBatch & Shell1 Kommentar

Hallo, ich würde gerne ein Array mit einer Liste erstellen die zum beispiel so ausschaut: $farben = @( ("Schwarz"), ...

VB for Applications

VBA: workbook schließt sich nicht, wenn Sheet ein Diagramm ist

gelöst Frage von Gimli3311VB for Applications2 Kommentare

Guten Abend Zusammen, habe ein zweites Problem in meinem Code. Dachte ich kann des selber lösen aber es klappt ...

Neue Wissensbeiträge
Internet
Copyright-Reform: Upload-Filter
Information von Frank vor 1 TagInternet

Hallo, viele Menschen reden aktuell von Upload-Filtern. Sie reden darüber, als wären es eine Selbstverständlichkeit, das Upload-Filter die Seitenbetreiber ...

Google Android

Blokada: Tracking und Werbung unter Android unterbinden

Information von AnkhMorpork vor 1 TagGoogle Android1 Kommentar

In Ergänzung zu meinem vorherigen Beitrag: Blokada efficiently blocks ads, tracking and malware. It saves your data plan, makes ...

Google Android
Facebooks unsichtbare Datensammlung
Information von AnkhMorpork vor 1 TagGoogle Android2 Kommentare

Rund 30 Prozent aller Apps im Play-Store nehmen Kontakt zu Facebook auf, sobald man sie startet. So erfährt der ...

Exchange Server

Exchange 2010 bis 2019 Sicherheitslücke durch CU RU schließen

Information von sabines vor 1 TagExchange Server

Für die hier: und hier: besprochene Sicherheitslücke ist ein Patch für Microsoft Exchange Server 2010 - 2019 verfügbar. RU ...

Heiß diskutierte Inhalte
Linux Userverwaltung
LogIn Versuche beschränken auf EINEN Versuch
gelöst Frage von GarroshLinux Userverwaltung21 Kommentare

Folgendes Problem Ich habe einen dezidierten Server beim Hoster gemietet, installiert ist Ubuntu 18.04.2 LTS‬ und als Webinterface Plesk. ...

Hardware
Was passiert wenn ein Server zu heiß wird?
Frage von LohrakHardware21 Kommentare

Hallo Sollte ein Server zu heiß werden, da z.B ein Lüfter ausfällt, was würde passieren? Wie meldet sich der ...

DSL, VDSL
Neuer Glasfaser Anschluss - IPv4-Adressraum
Frage von norre2000DSL, VDSL12 Kommentare

Hallo Zusammen, ich werde meinen Glasfaser Anschluss wechseln und bin beim Ausfüllen des Antrags auf Fragen gestoßen bei denen ...

Internet
Aktuell HP-Support-Seite kaputt?
gelöst Frage von LochkartenstanzerInternet12 Kommentare

Hallo Kollegen, Weiß einer von euch, seit wann die HP-Support-Seite kaputt ist? ) Wollte heute morgen Druckertreiber runterladen und ...