Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1132to1136
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
Spalte A in andere Tabelle kopieren
Ben
Hallo,
ich habe folgendes Problem:
zwei Tabellen mit dem gleichen Aufbau, in Spalte A stehen immer Bezeichnungen und in den weiteren Spalten folgen Werte.
Ich versuche nun die Spalte A aller Tabellenblätter der ersten Tabelle (besitzt 41 Tabellenblätter) in die andere Tabelle zu kopieren (in die gleichen entsprechenden Tabellenblätter).
Private Sub CommandButton1_Click()
ActiveWorkbook.RunAutoMacros xlAutoActivate
Dim i As Integer
Dim WorkbookIM As Variant
Dim WorkbookEX As Excel.Workbook
Dim n As Long
Dim rng As Range
Application.ScreenUpdating = False
WorkbookEX = Me.Application.Workbooks(1)
For n = 4 To 41
Set rng = Worksheets(n).Range("A8:A46")
i = 0
WorkbookIM = Application.GetOpenFilename("Excel-dateien(*.xlsm),*xls,CSV(*.csv),*csv", _
MultiSelect:=True)
If IsArray(WorkbookIM) Then
For i = LBound(WorkbookIM) To UBound(WorkbookIM)
Workbooks.Open WorkbookIM(i)
Next i
End If
rng.Value = Range("A8:A46").Value
ActiveWorkbook.Close savechanges:=False
Next n
Application.ScreenUpdating = True
End Sub

Allerdings ich bekomme es nicht beschrieben, dass die Spalten in die neu geöffnete Tabelle eingefügt werden!? Wie mache ich dies? Vielen Dank für eure Hilfe!

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Spalte A in andere Tabelle kopieren
22.01.2010 20:13:26
Gerd
Hallo Ben,
die Container die du wie ein Buch öffnen kannst heißen Dateien oder Arbeitsmappen.
Die einseitigen Blätter in diesen Dateien heißen Tabellenblätter.
Damit etwas Verwirrung reinkommt, kann man in xl2007 in Tabellen unter Einfügen - Tabellen
Listen in einen markierten Bereich einer Tabelle einfügen, wobei die Listen leider auch als Tabellen bezeichnet werden.
Kannst Du also nochmals kundtun, was und was woher wohin und wohin kopiert werden soll?
Konkrete Angaben tragen sicher zum Verständnis deiner Aufgabe bei.
Gruß Gerd
AW: Spalte A in andere Tabelle kopieren
23.01.2010 00:39:14
Ben
Hallo Gerd,
danke erstmal für den Versuch! Also, ich habe zwei identische Arbeitsmappen und diese haben beide 41 Tabellenblätter. Die Tabellenblätter 1-3 sind Zusammenfassungen und für die Frage irrelevant, es geht um die folgenden! Bei einer Arbeitsmappe sollen nun in der Spalte A der Tabellenblätter 4-41 Änderungen möglich sein. Diese Änderungen sollen in der anderen Arbeitsmappe dann auch vorhanden sein, daher das Makro über den Button die Spalten A der Tabellenblätter zu kopieren.
(Ich will mir also die Arbeit ersparen immer wieder die Bezeichnungen in Spalte A einzufügen, der Button soll sozusagen als Aktualisierung oder Export dienen um die andere Arbeitsmappe anzupassen)
Hoffe dass dies etwas verständlicher ist?!
Anzeige
AW: Spalte A in andere Tabelle kopieren
23.01.2010 01:01:37
Josef
Hallo Ben,
ungetestet!
Die Tabellen dürfen nicht geschützt sein, sonst müsste man den
Schutz im Code aufheben und wieder setzten.
' **********************************************************************
' Modul: Modul3 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub copyColumnsToSheets()
  Dim objWb As Workbook
  Dim lngIndex As Long, lngCount As Long
  Dim vntArray(4 To 41) As Variant, vntFiles As Variant
  
  On Error GoTo ErrExit
  GMS
  
  vntFiles = Application.GetOpenFilename("Excel Dateien (*.xls; *.xlsx; *.xlsm)," & _
    "*.xls; *.xlsx; *.xlsm", MultiSelect:=True)
  
  If IsArray(vntFiles) Then
    For lngCount = 4 To 41
      vntArray(lngCount) = ThisWorkbook.Worksheets(lngCount).Range("A:A")
    Next
    For lngCount = 0 To UBound(vntFiles)
      Set objWb = Workbooks.Open(vntFiles(lngCount), UpdateLinks:=False)
      If objWb.Worksheets.Count >= 41 Then
        For lngIndex = 4 To 41
          objWb.Worksheets(lngIndex).Range("A:A") = vntArray(lngIndex)
        Next
      End If
      objWb.Close True
    Next
  End If
  
  ErrExit:
  With Err
    If .Number <> 0 Then MsgBox "Fehler " & .Number & vbLf & vbLf & _
      .Description & vbLf & vbLf & "In Prozedur (copyColumnsToSheets) in Modul Modul3", _
      vbExclamation, "Fehler in Modul3 / copyColumnsToSheets"
  End With
  
  GMS True
  
  Set objWb = Nothing
End Sub

Public Sub GMS(Optional ByVal Modus As Boolean = False)
  
  Static lngCalc As Long
  
  With Application
    .ScreenUpdating = Modus
    .EnableEvents = Modus
    .DisplayAlerts = Modus
    .EnableCancelKey = IIf(Modus, 1, 0)
    If Not Modus Then lngCalc = .Calculation
    If Modus And lngCalc = 0 Then lngCalc = -4105
    .Calculation = IIf(Modus, lngCalc, -4135)
    .Cursor = IIf(Modus, -4143, 2)
    
  End With
  
End Sub

Gruß Sepp

Anzeige
Korrektur!
23.01.2010 01:52:11
Josef
Hallo Ben,
korrigiere bitte die Zeile

For lngCount = 0 To UBound(vntFiles)

ab in

For lngCount = 1 To UBound(vntFiles)

Gruß Sepp

AW: Spalte A in andere Tabelle kopieren
23.01.2010 11:20:19
Ben
Hallo Sepp,
Danke für die schnelle Hilfe!
Ich hab es versucht einzubauen und der Anfang funktioniert! Man kann die Datei aussuchen, diese öffnet sich dann und Excel fängt an zu kopieren. Allerdings wird die Arbeitsmappe dabei 30 mal so groß und der PC hängt sich auf! (Orginalgröße 3MB und nach kopieren 80MB)
Ich habe die zu kopierenden Tabellenblätter auf 5 beschränkt, so lässt es sich zumindest öffnen und man sieht, dass korrekt kopiert wurde. Es funktioniert also, aber auch hier steigt die Dateigröße auf 20MB!
Wie kommt das zustande, würde es helfen die Zeilen einzuschränken? Also nur Spalte A Zeile 9 bis 46?
Danke,
Ben
Anzeige
AW: Spalte A in andere Tabelle kopieren
23.01.2010 11:24:51
Josef
Hallo Ben,
auf alle Fälle wäre das gut.
Gruß Sepp

AW: Spalte A in andere Tabelle kopieren
23.01.2010 11:55:41
Ben
Danke Sepp,
jetzt funktioniert es! Ich denke, es lag an den Comboboxen, Buttons und Gif-Dateien welche in den ersten Zeilen sind!
Schönes Wochenende,
Ben

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige