Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen

Kopier-Makro

Betrifft: Kopier-Makro
von: Harti
Geschrieben am: 20.04.2003 - 12:56:18

Moin,
ich benötige gaaaaaanz dringend Euren Rat bzw. Hilfe. ich brauche (am besten heute noch) ein Makro, welches Werte kopiert.
Als Anfänger bekomme ich's aber echt nicht hin.

Und zwar habe ich in einer Datei in den Feldern E11 bis E316 und G11 bis G316 Werte stehen. Diese möchte ich jetzt mittels Makro in eine andere Datei kopieren, nennen wir sie einfach datei2.xls. Das Makro soll aber vorher abfragen, in welches Tabellenblatt die Werte (inklusive Formatierung der Zellen) kopiert werden sollen. Dann gebe ich etwa tabelle1 ein und die Werte werden dann in die Tabelle1 kopiert und zwar sollen die Werte stets in die Felder B11 bis B316 und D11 bis D316 kopiert werden.

Kann sich jemand erbarmen und mir die Lösung bzw. das Makro zukommen lassen???

1.000.000 x Dank von
Harti

  

Eine Lösung
von: Hans T.
Geschrieben am: 20.04.2003 - 14:56:42

Hallo Harti

Hier ein Vorschlag ohne Schikanen. Dieser könnte z.B. erweitert werden durch ein Formular mit Listbox, welche aus den vorhandenen Tabellenblättern auswählen lässt.

~begin~
Public Sub CopyColumns()
'kopiert 2 Bereiche in ausgewählte Tabelle
Const strOutFile = "F:\projekte\dunst\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 errhand
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 xlPasteValues 'als Wert einfügen
rngInput2.Copy 'Spalte 2 kopieren
rngOutput2.PasteSpecial xlPasteValues 'als Wert einfügen
Application.CutCopyMode = False 'Kopiermodus beenden

shtOutput.Activate 'Output-Tabelle anzeigen
[A1].Activate 'go home

Exit Sub
~end

Viel Gruss
Hans T.

  

Re: Kopier-Makro
von: Hans T.
Geschrieben am: 20.04.2003 - 14:58:39

2. Anlauf, diesmal mit richtiger Formatierung


Public Sub CopyColumns()
  'kopiert 2 Bereiche in ausgewählte Tabelle
  Const strOutFile = "F:\projekte\dunst\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 errhand
  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 xlPasteValues     'als Wert einfügen
  rngInput2.Copy                            'Spalte 2 kopieren
  rngOutput2.PasteSpecial xlPasteValues     'als Wert einfügen
  Application.CutCopyMode = False           'Kopiermodus beenden
  
  shtOutput.Activate                        'Output-Tabelle anzeigen
  [A1].Activate                             'go home
  
Exit Sub


  

Re: Kopier-Makro
von: Harti
Geschrieben am: 21.04.2003 - 11:15:09

Guten Morgen...und frohe Ostern!

Also, so ganz funktioniert das Makro noch nicht. Bekomme immer folgenden Fehler:

Fehler beim Kompilieren.
Sprungmarke nicht definiert!

Kannst Du mir da noch einmal helfen, oder irgendjemand sonst?

Danke
Harti