Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

mit VBA Teile einer unbekannten Excel Datei in eine neue kopieren

Frage Microsoft Microsoft Office

Mitglied: Shaggy84

Shaggy84 (Level 1) - Jetzt verbinden

07.03.2008, aktualisiert 11.03.2008, 12303 Aufrufe, 3 Kommentare

Hallo Forum User, bastla, biber und alle die anderen,

ich bin mal wieder kurzzeitig von meinen Servern weg und stehe erneut vor einem kleinen VBA Problem.

Ich möchte per Makro aus einer unbestimmten Datei Teile in meine Datei kopieren.

Dieser erste Code soll den gesammten Inhalt von der Quelldatei in meine Zieldatei kopieren. Das Makro starte ich von der Zieldatei heraus.
Bis jetzt kopiert er den Inhalt der Quelldatei in die Zwischenablage. Wie wechsel ich zur Zieldatei zurück, ohne ihren Namen dafür angeben zu müssen? (falls nicht möglich natürlich auch mit Namen)

01.
Application.Dialogs(xlDialogOpen).Show 
02.
 
03.
Sheets("Tabelle1").Range("1:65535").Copy 
04.
 
05.
'wie wechsel ich hier zur Zieldatei zurück? 
06.
Sheets("TT").Range("1:65535").PasteSpecial _ 
07.
Paste:=xlPasteValues 
08.
 
09.
Sheets("TT").Activate 
10.
Sheets("TT").Cells(1, 1).Select
Anschließend möchste ich in der Zieldatei "ausmisten", d.h. Zeilen Löschen wenn in Spalte xy nicht "Y" drin steht und ähnliches. Welchen Befehl kann man nehmen, um nur z.B. die ersten beiden Buchstaben einer Zelle ab zu fragen? (mit den WENN Funktionen kenne ich dies, aber mit VBA?)

Grüße, Gregor
Mitglied: wakko
07.03.2008 um 16:25 Uhr
Moin,

das geht folgendermaßen:
01.
Dim wb As Workbook 'Arbeitsmappe def. 
02.
Set wb = ActiveWorkbook 'Arbeitsmappe auf das aktive Workbook setzen 
03.
Application.Dialogs(xlDialogOpen).Show 'Nun ist das aktive Workbook das neu geöffnete 
04.
Sheets("Tabelle1").Range("1:65535").Copy 
05.
 
06.
'wie wechsel ich hier zur Zieldatei zurück? -> wb ansprechen 
07.
wb.Sheets(1).Range("1:65535").PasteSpecial _ 
08.
Paste:=xlPasteValues 
Abfrage der ersten beiden Zeichen einer Zelle:
01.
erstebeidezeichen = Left(ActiveSheet.Cells(1,1).value, 2)
MfG,
Henrik
Bitte warten ..
Mitglied: bastla
07.03.2008 um 16:54 Uhr
Hallo Shaggy84!

Einfach die aktuelle Mappe als Objekt zwischenspeichern:
01.
... 
02.
Dim Ziel As Workbook 
03.
Set Ziel = ThisWorkbook 
04.
 
05.
Application.Dialogs(xlDialogOpen).Show 
06.
 
07.
Worksheets("Tabelle1").Range("1:65535").Copy 
08.
Ziel.Worksheets("TT").Range("1:65535").PasteSpecial _ 
09.
Paste:=xlPasteValues 
10.
Application.CutCopyMode = False 
11.
 
12.
Ziel.Worksheets("TT").Activate 
13.
Worksheets("TT").Cells(1, 1).Select 
14.
...
"Sheets()" habe ich durch "Worksheets()" ersetzt, da es hier ja um Tabellenblätter geht (besonders dann ein Thema, wenn Du nicht über den Namen, sondern über Index darauf zugreifen willst).
Für die ersten 2 Zeichen einer Zeichenkette kannst Du "Left()" verwenden, also etwa
01.
If Left(Worksheets("TT").Cells(3, 5).Value, 2) = "AB" Then ...
Weitere in diesem Zusammenhang nützliche Funktionen wären "Right()" und "Mid()" sowie "InStr()" ...

Grüße
bastla

[Edit] Wer hat an der Uhr gedreht? Sorry, wakko, als ich mit dem Kommentar begonnen habe, war Dein Posting noch nicht da ... [/Edit]
Bitte warten ..
Mitglied: Shaggy84
11.03.2008 um 08:09 Uhr
Funktioniert wunderbar, danke ihr beiden
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft Office
gelöst CSV-Datei mit einem VBA Makro in Excel einlesen und leicht anpassen (5)

Frage von JoSiBa zum Thema Microsoft Office ...

Microsoft Office
Excel Dateien durchsuchen und Werte einzeln in neue Excel Datei auslesen (1)

Frage von krischanii zum Thema Microsoft Office ...

Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...