Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro-Hilfe

Forumthread: Makro-Hilfe

Makro-Hilfe
22.04.2003 19:47:24
Harti
Muss noch mal um Hilfe bitten. Wie muss ich das untere Makro abändern, damit es funktioniert...egal in welchem Ordner und Verzeichnis sich die Dateien befinden?

Beide Dateien (die mit dem Makro und die Datei datei2.xls) befinden sich stets im gleichen Ordner.

Sub CommandButton1_Click()
'kopiert 2 Bereiche in ausgewählte Tabelle
Const strOutFile = "C:\Dokumente und Einstellungen\Administrator\Desktop\datei2.xls"
Dim rngInput1 As Range 'Input-Spalte 1
Dim rngInput2 As Range 'Input-Spalte 2
Dim rngOutput1 As Range 'Output-Spalte 1
Dim rngOutput2 As Range 'Output-Spalte 2
Dim wbkOutput As Workbook 'Output-File
Dim shtOutput As Worksheet 'Output-Tabelle
Dim strSheet As String 'Tabellen-Name

strSheet = InputBox("Tabellenblatt:") 'Tabellen-Namen abfrage

Set rngInput1 = [E11:E316] 'Input-Spalte 1 zuweisen
Set rngInput2 = [G11:G316] 'Input-Spalte 2 zuweisen
Set wbkOutput = Workbooks.Open(strOutFile) 'Output-File öffnen
On Error GoTo errhandler
Set shtOutput = wbkOutput.Worksheets(strSheet) 'Output-Tabelle zuweisen
On Error GoTo 0
Set rngOutput1 = shtOutput.[B11:B316] 'Output-Spalte 1 zuweisen
Set rngOutput2 = shtOutput.[D11:D316] 'Output-Spalte 2 zuweisen

rngInput1.Copy 'Spalte 1 kopieren
rngOutput1.PasteSpecial xlAll 'als Wert einfügen
rngInput2.Copy 'Spalte 2 kopieren
rngOutput2.PasteSpecial xlAll 'als Wert einfügen
Application.CutCopyMode = False 'Kopiermodus beenden

shtOutput.Activate
shtOutput.Range("A1").Select 'go home

errhandler:
End Sub


Dank'
Harti

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Makro-Hilfe
22.04.2003 20:17:08
ChrisL

Hallo Harti

Wenn sich Datei 1 und 2 im selben Ordner befinden, kannst du wie vorgeschlagen den Dateipfad aus Datei 1 verwenden.

Sub CommandButton1_Click()
'kopiert 2 Bereiche in ausgewählte Tabelle
Dim strOutFile As String
Dim rngInput1 As Range 'Input-Spalte 1
Dim rngInput2 As Range 'Input-Spalte 2
Dim rngOutput1 As Range 'Output-Spalte 1
Dim rngOutput2 As Range 'Output-Spalte 2
Dim wbkOutput As Workbook 'Output-File
Dim shtOutput As Worksheet 'Output-Tabelle
Dim strSheet As String 'Tabellen-Name

strOutFile = ThisWorkbook.Path & "\datei2.xls"

strSheet = InputBox("Tabellenblatt:") 'Tabellen-Namen abfrage

Set rngInput1 = [E11:E316] 'Input-Spalte 1 zuweisen
Set rngInput2 = [G11:G316] 'Input-Spalte 2 zuweisen
Set wbkOutput = Workbooks.Open(strOutFile) 'Output-File öffnen
On Error GoTo errhandler
Set shtOutput = wbkOutput.Worksheets(strSheet) 'Output-Tabelle zuweisen
On Error GoTo 0
Set rngOutput1 = shtOutput.[B11:B316] 'Output-Spalte 1 zuweisen
Set rngOutput2 = shtOutput.[D11:D316] 'Output-Spalte 2 zuweisen

rngInput1.Copy 'Spalte 1 kopieren
rngOutput1.PasteSpecial xlAll 'als Wert einfügen
rngInput2.Copy 'Spalte 2 kopieren
rngOutput2.PasteSpecial xlAll 'als Wert einfügen
Application.CutCopyMode = False 'Kopiermodus beenden

shtOutput.Activate
shtOutput.Range("A1").Select 'go home

errhandler:
End Sub


Falls die Datei erst noch auf dem ganzen Laufwerk gesucht werden muss, würde es sich negativ auf die Performance auswirken.

n.b. Damit das Makro sauber läuft musst du die Datei natürlich erstmal speichern. Wenns nicht läuft, melde dich nochmals (Fehler und Zeile).

Gruss
Chris

Anzeige
Re: Makro-Hilfe
23.04.2003 17:45:02
Harti

Vielen Dank...genau so sollte es sein.
Funktioniert wunderbar!!!!


Harti

;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige