Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
252to256
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
252to256
252to256
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Änderung am Makro...(Kopieren in Datei)

Änderung am Makro...(Kopieren in Datei)
10.05.2003 11:23:20
Joe
Moin,
ich benötige mal wieder Hilfe aus dem Kreis der Excel-Spezialisten.
Ich besitze ein Makro, welches einige Zellen in eine bestehende Datei kopiert. Das Makro fragt vorher nach dem Tabellenblatt-namen, in welches die Zellen kopiert werden sollen.

Wer kann das Makro so abändern, dass das Makro die Zellen immer in dem gleichen Tabellenblatt (z.B. Tabelle1) hineinkopiert, aber vorher nach dem Namen der Datei fragt.

Hier der Auszug aus dem Makro, der wahrscheinlich geändert werden müsste.
Vielen Dank schon mal für die Unterstützung...
Joe


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

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

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

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Änderung am Makro...(Kopieren in Datei)
10.05.2003 13:13:17
Ramses

Hallo,


strSheet = InputBox("Tabellenblatt:","Zieltabelle",ActiveSheet.Name)

Hier wird als Vorschlag der Name des aktiven Tabellenblattes genommen.

Gruss Rainer

Re: Änderung am Makro...(Kopieren in Datei)
11.05.2003 15:47:46
ChrisL

https://www.herber.de/forum/messages/254753.html

Application.Dialogs(xlDialogOpen).Show
strSheet = "Daten"

statt

strOutFile = ThisWorkbook.Path & "\werte.xls"
strSheet = InputBox("Tabellenblatt:") 'Tabellen-Namen abfrage

Zudem die Zeile:
Dim strOutFile As String
löschen

Re: Änderung am Makro...(Kopieren in Datei)
12.05.2003 11:30:22
Joe

Hallo ChrisL,

in der Hoffnung dass Du diesen Thread noch liest, wollte ich nur kurz mitteilen, dass die Änderungen am Makro nicht ganz funktionieren. ich bekomme immer einen Laufzeitfehler 1004.

Ausserdem erscheint keine Abfrage nach dem Dateinamen.
Irgendeine Idee, was man da noch ändern könnte?

Gruß
Joe

Anzeige
Re: Änderung am Makro...(Kopieren in Datei)
12.05.2003 11:55:03
ChrisL

Hallo Joe

Es hilft natürlich immer wenn du auch die Zeile mit dem Fehler und die genaue Fehlerbeschreibung angibst.

Jedenfalls habe ich erst jetzt gesehen, dass die Zeile:
Set wbkOutput = Workbooks.Open(strOutFile) 'Output-File öffnen
auch noch gelöscht werden muss.

Option Explicit

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

Application.Dialogs(xlDialogOpen).Show
strSheet = "Daten"

Set rngInput1 = [E1:E306] 'Input-Spalte 1 zuweisen
Set rngInput2 = [G1:G306] 'Input-Spalte 2 zuweisen
Set rngInput3 = [H1:H306] 'Input-Spalte 3 zuweisen

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
Set rngOutput3 = shtOutput.[AS11:AS316] 'Output-Spalte 3 zuweisen
rngInput1.Copy 'Spalte 1 kopieren
rngOutput1.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False 'als Wert einfügen
rngOutput1.PasteSpecial Paste:=xlFormats
rngInput2.Copy 'Spalte 2 kopieren
rngOutput2.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False 'als Wert einfügen
rngOutput2.PasteSpecial Paste:=xlFormats
rngInput3.Copy 'Spalte 3 kopieren
rngOutput3.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False 'als Wert einfügen
rngOutput3.PasteSpecial Paste:=xlFormats
Application.CutCopyMode = False 'Kopiermodus beenden

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

errhandler:
End Sub


Gruss
Chris

Anzeige
Re: Änderung am Makro...(Kopieren in Datei)
12.05.2003 15:04:16
Joe

Hallo ChrisL,

erst einmal Dank für Deinen unermüdlichen Einsatz. Mein Umzug ist nun beendet und ich kann jetzt wieder regelmäßig ins Netz.

Habe die Änderungen am Makro wie von Dir beschrieben vorgenommen; es wird aber nichts in die Datei hineinkopiert.

Wenn ich das Makro starte, wird nach der Datei gefragt und die wird dann auch geöffnet, aber die Werte bzw. Spalten, die im Makro angegeben sind, werden nicht kopiert.

Woran kann das liegen?
Habe schon alles Mögliche probiert...habe aber nichts entdecken können.

Gruß
Joe

Re: Änderung am Makro...(Kopieren in Datei)
12.05.2003 15:27:06
ChrisL

Hallo Joe

Sorry bin ein Quatsch-Kopf... :-)

Set wbkOutput = ActiveWorkbook 'Output-File zuweisen
Das wbkOutput muss natürlich trotzdem noch zugewiesen werden. Da sich der Fehler innerhalb der On Error Anweisung befunden hat ist keine Fehlermeldung erschienen. In solchen Fällen einfach mal die OnError-Anweisung auskommentieren, dann kommt die Fehlermeldung. Aber anyway... so sollte es nun hoffentlich gehen.

Gruss
Chris

Option Explicit

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

On Error GoTo errhandler

Application.Dialogs(xlDialogOpen).Show
strSheet = "Daten"

Set rngInput1 = [E1:E306] 'Input-Spalte 1 zuweisen
Set rngInput2 = [G1:G306] 'Input-Spalte 2 zuweisen
Set rngInput3 = [H1:H306] 'Input-Spalte 3 zuweisen

Set wbkOutput = ActiveWorkbook 'Output-File zuweisen
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
Set rngOutput3 = shtOutput.[AS11:AS316] 'Output-Spalte 3 zuweisen
rngInput1.Copy 'Spalte 1 kopieren
rngOutput1.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False 'als Wert einfügen
rngOutput1.PasteSpecial Paste:=xlFormats
rngInput2.Copy 'Spalte 2 kopieren
rngOutput2.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False 'als Wert einfügen
rngOutput2.PasteSpecial Paste:=xlFormats
rngInput3.Copy 'Spalte 3 kopieren
rngOutput3.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False 'als Wert einfügen
rngOutput3.PasteSpecial Paste:=xlFormats
Application.CutCopyMode = False 'Kopiermodus beenden

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

errhandler:
End Sub

Anzeige
Re: Änderung am Makro...(Kopieren in Datei)
12.05.2003 15:44:16
Joe

Ist mir schon fast peinlich...echt....aber es klappt immer noch nicht. Es wird einfach nicht kopiert.

Kann es daran liegen, dass ich Option Explicit zu Beginn weggelassen habe und aus Private Sub habe ich Sub gemacht, da ich sonst in der Makro-Auswahl das Makro nicht angezeigt bekomme?

Sorry für die blöden fragen, bin aber leider Excel-Newbie.

Joe

Re: Änderung am Makro...(Kopieren in Datei)
12.05.2003 16:00:40
ChrisL

Hellau again :-)

Option Explicit vorhanden oder nicht macht so keinen Unterschied.

Private Sub CommandButton1_Click()
Bedeutet dass das Makro zu einem CommandButton gehört, also einer Taste, die das Makro auslöst. Wenn du es in einem Modul verwendest schauts dann so aus.

Option Explicit

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

On Error GoTo errhandler

Set rngInput1 = [E1:E306] 'Input-Spalte 1 zuweisen
Set rngInput2 = [G1:G306] 'Input-Spalte 2 zuweisen
Set rngInput3 = [H1:H306] 'Input-Spalte 3 zuweisen

Application.Dialogs(xlDialogOpen).Show
strSheet = "Daten"

Set wbkOutput = ActiveWorkbook 'Output-File zuweisen
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
Set rngOutput3 = shtOutput.[AS11:AS316] 'Output-Spalte 3 zuweisen
rngInput1.Copy 'Spalte 1 kopieren
rngOutput1.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False 'als Wert einfügen
rngOutput1.PasteSpecial Paste:=xlFormats
rngInput2.Copy 'Spalte 2 kopieren
rngOutput2.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False 'als Wert einfügen
rngOutput2.PasteSpecial Paste:=xlFormats
rngInput3.Copy 'Spalte 3 kopieren
rngOutput3.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False 'als Wert einfügen
rngOutput3.PasteSpecial Paste:=xlFormats
Application.CutCopyMode = False 'Kopiermodus beenden

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

errhandler:
End Sub


Allerdings ist es mir selber rätselhaft, wieso das letzte Makro mit CommandButton funktioniert hat und im Modul nicht :-)

Ferner darauf achten, dass das Blatt 'Daten' vorhanden ist.

Gruss
Chris

Anzeige
Re: Änderung am Makro...(Kopieren in Datei)
12.05.2003 16:09:56
Joe

Puuuuuhhh...jetzt klappt's.

Vielen Dank für Deine tatkräftige Unterstützung. Hätte ich ohne Deine Hilfe nicht hinbekommen.


Joe

Re: Änderung am Makro...(Kopieren in Datei)
12.05.2003 16:35:39
Joe

Puuuuuhhh...jetzt klappt's.

Vielen Dank für Deine tatkräftige Unterstützung. Hätte ich ohne Deine Hilfe nicht hinbekommen.


Joe

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige