Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1088to1092
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
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

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
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
Anzeige
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

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige