Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1028to1032
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
Kopieren in erstellter UserForm-Spreadsheet
27.11.2008 15:36:00
Iro
Hallo Excel-Gemeinde,
beim Programmieren meiner userform ist ein merkwürdiges Problem aufgetaucht.
Meine userform enthält als Formular eine Excel-tabelle mit einem vorformatierter Tabellenblatt. Beim Starten der Userform wird eine Schleife durchlaufen, die x-mal dieses Tabellenblatt kopiert und innerhalb der Tabelle unter neuem Namen einfügt. Am Ende habe ich dann z.B. 100 Tabellenblätter mit den Namen 1-100. Das funktioniert auch tadellos.
Aber: wenn ich aus einer normalen Excel-Tabelle Daten per copy&paste in die neu generierten User-Form-Tabellenblätter übertrage bricht Excel zusammen. Kopiere ich in das Tabellenblatt das als vorlage diente passiert das nicht.
Zum Testen habe ich mittlerweile den Umfang der Userform auf 50 KB reduziert, kopiere das Tabellenblatt nur zweimal und füge nur noch 1 zelle ein. Hilft alles nichts.
Die Schleife zum kopieren sieht so aus:
For i = 2 To 3
userForm.Tabelle.Worksheets(1).Copy after:=userForm.Tabelle.ActiveSheet
userForm.Tabelle.Worksheets(i).Name = userForm.ChangeBox.List(i-1)
Next
Weiß jemand Rat?
Gruß Iro

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

Betreff
Datum
Anwender
Anzeige
AW: Kopieren in erstellter UserForm-Spreadsheet
28.11.2008 11:44:19
fcs
Hallo Iro,
in einem UF Spreadsheet-Objekt bis zu 100 Tabellenblätter anzulegen? Macht das Sinn? Muss es sein?
Kopier-Aktionen zwischen "normalen" Tabellenblättern einer Arbeitsmappe und den Tabellen-Objekten eines Userforms funktionieren schlicht und einfach nicht.
Man kann jedoch die Werte eines Tabellenbereichs auslesen und in eine Userformtabelle eintragen.
Ich hatte kein Problem im UF-Spreadsheet 100 Tabellen anzulegen und diese dann mit Daten zu füllen ( 5 Spalten und ca. 40 Zeilen mit Daten).
Evtl. hilft das ja weiter.
Gruß
Franz

Private Sub CommandButton2_Click()
'Daten aus Tabellenblatt im Userform-Blatt einfügen
Dim wksQuelle As Worksheet, rngQuelle As Range
Dim wbUFZiel As Spreadsheet
Dim Zeile&, Spalte&, ZeileSS&, SpalteSS&, objTabelle As Object
Set wksQuelle = ActiveWorkbook.Worksheets("UF_Muster") 'Tabelle mit Daten
Set wbUFZiel = Me.Spreadsheet1 'Spreadsheet-Objekt im Userform
With wksQuelle
'Bereich mit den Quelldaten
Set rngQuelle = .Range(.Cells(1, 1), .Cells.SpecialCells(xlCellTypeLastCell))
'Zieltabelle im UF-Spreadsheet
Set objTabelle = wbUFZiel.Worksheets("Tab02")
With rngQuelle
ZeileSS = 0 'Einfügen in Zieltabelle ab Zeile 1
For Zeile = 1 To .Rows.Count
SpalteSS = 0 'Einfügen in Zieltabelle ab Spalte 1
ZeileSS = ZeileSS + 1
For Spalte = 1 To .Columns.Count
SpalteSS = SpalteSS + 1
objTabelle.Cells(ZeileSS, SpalteSS) = .Cells(Zeile, Spalte)
Next
Next
End With
End With
End Sub


Anzeige
AW: Kopieren in erstellter UserForm-Spreadsheet
01.12.2008 10:48:00
Iro
Hallo Franz,
ich habe den Code ausprobiert und er funktioniert; leider ist er nicht genau dass was ich brauche. Aber zumindest weiß ich jetzt dass ich die Kopier-Funktion nicht auf neu erstellten UF-tabellenblättern anwenden kann.
Die idee war, dass der User Daten für eine Informationsquelle einträgt, er dann mit einer Checkbox eine andere Info-quelle wählt und von Zauberhand alle Daten verschwinden und er sie nicht mehr selber löschen muss. Und wenn ihm für die andere etwas einfällt sind die Daten wieder da. Und er muss nur einmal einen Datenupload für alle Quellen machen. Da ich nicht weiß ob der user für eine oder zwanzig Quellen Uploads macht wollte ich das variabel erstellen. Was solls.
Vielen Dank und Gruß
Iro
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige