Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Blätter markieren und kopieren mit UF

Blätter markieren und kopieren mit UF
marcl
Hallo zusammen,
ich möchte in einer UF alle Blätter der Datei listen und in einer CHK-Box anhaken können. Danach sollen nur die Markiereten Blätter kopiert werden.
Wie kann ich das am Besten lösen?
Danke für jegliche Hilfe.
Gruß
marcl
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Entweder per Treeview oder per Listbox
27.07.2009 14:34:40
NoNet
Hallo Marc,
die Verwendung von einzelnen Checkboxen ist dafür äusserst umständlich !
Verwende dazu besser eine Listbox (multiselect=TRUE) oder ein Treeview (Baumansicht) mit aktiviertem Checkboxes. Beispiele zum TreeView findest Du im Archiv !
Beide Controls kannst Du mit einer For EACH...-Schleife mit den Namen der Tabellenblätten befüllen.
Nach der Auswahl kannst Du diese Controls wieder in einer Schleife auslesen, in ein ARRAY schreiben und dan "en Block" kopieren.
Gruß, NoNet
Anzeige
per Listbox, aber wie ausgewählte als Array kopier
30.07.2009 14:46:02
marcl
Hallo NoNet,
wie ich die Blattnamen mit For Each auslese, ist mir bekannt, aber wie kann ich die dann en Block kopieren?
Habe bisher nur Array mit festen Blattnamen verwendt.
Gruß
marcl
per Listbox, aber wie ausgewählte als Array kopier
30.07.2009 14:46:42
marcl
sry, war nicht offen gekennzeichnet :-(
AW: Blätter markieren und kopieren mit UF
27.07.2009 14:50:36
Beverly
Hi Marc,
wenn es nicht sehr viele Tabellenblätter sind und sich die Namen der Tabellenbkätter nicht ändern, kannst du das nach diesem Prinzip machen:
Option Explicit
Dim arrTabellen()
Dim inTabellen As Integer
Private Sub CheckBox1_Click()
ReDim Preserve arrTabellen(0 To inTabellen)
arrTabellen(inTabellen) = "Tabelle1"
inTabellen = inTabellen + 1
End Sub
Private Sub CheckBox2_Click()
ReDim Preserve arrTabellen(0 To inTabellen)
arrTabellen(inTabellen) = "Tabelle2"
inTabellen = inTabellen + 1
End Sub
Private Sub CheckBox3_Click()
ReDim Preserve arrTabellen(0 To inTabellen)
arrTabellen(inTabellen) = "Tabelle3"
inTabellen = inTabellen + 1
End Sub
Private Sub CommandButton1_Click()
Worksheets(arrTabellen).Copy
End Sub



Anzeige
AW: Blätter markieren und kopieren mit UF
01.08.2009 14:49:25
Tino
Hallo,
hier mal ein Beispiel Code.
Verwendete Steuerelemente auf Userform:
Listenfeld - "ListBox1"
Befehlsschaltfläche - "CommandButton1"

Dialog UserForm1
Option Explicit 
 
Private Sub CommandButton1_Click() 
Dim myAr() As String 
Dim i As Integer, ii As Integer 
  
    With ListBox1 
      For i = 0 To .ListCount - 1 
        If .Selected(i) Then 
         Redim Preserve myAr(ii) 
         myAr(ii) = .List(i) 
         ii = ii + 1 
        End If 
      Next i 
    End With 
     
    If ii > 0 Then 
     ThisWorkbook.Sheets(myAr).Copy 
    End If 
 
End Sub 
 
Private Sub UserForm_Initialize() 
Dim i As Integer 
 
    With ListBox1 
     .ListStyle = fmListStyleOption 
     .MultiSelect = fmMultiSelectMulti 
    End With 
     
    With ThisWorkbook 
        For i = 1 To .Sheets.Count 
         If .Sheets(i).Visible Then 
          ListBox1.AddItem .Sheets(i).Name 
         End If 
        Next i 
    End With 
 
End Sub 
Gruß Tino
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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