Office: (Office 2013) Inhalt einer Listbox mehrfach in Tabelle ausgeben?

Helfe beim Thema Inhalt einer Listbox mehrfach in Tabelle ausgeben? in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen Forum, Ist es möglich den ausgewählten Inhalt einer Listbox mehrfach in eine Tabelle (Druckquellle für Word) zu übertragen? Wenn ich... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Patrick_swiss, 29. Juni 2015.

  1. Patrick_swiss Erfahrener User

    Inhalt einer Listbox mehrfach in Tabelle ausgeben?


    Hallo zusammen Forum,

    Ist es möglich den ausgewählten Inhalt einer Listbox mehrfach in eine Tabelle (Druckquellle für Word) zu übertragen?
    Wenn ich also z.B. 8 in eine Textbox schreibe kann ich diesen Wert dann benutzen um per Loop die Inhalte die in der Listbox
    ausgewählt wurden 8 mal in die Tabelle einzutragen? Habe zu diesem Thema leider bisher nichts gefunden.
    Danke
     
    Patrick_swiss, 29. Juni 2015
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi,

    was denn nun - ListBox oder TextBox oder beides? Vielleicht solltest du mal deine Mappe hochladen zum besseren Verständnis dessen, was du erreichen willst.

    Bis später,
    Karin
     
    Beverly, 29. Juni 2015
    #2
  3. Patrick_swiss Erfahrener User
    Hallo Karin,

    Die Arbeitsmappe ist zu scheinbar zu gross (5,59MB).
    Ich hole mal etwas aus. Ich versuche eine uf für den Etikettendruck zu erstellen.
    Die Mappe kopiert Lagerdaten vom Hauptdoc nach Tabelle 2 in meine Arbeitsmappe. Anschliessend kann der User über eine uf
    mit diversen dropdown eine vorauswahl treffen (Artikel, Bezeichnung, Lagerplatz). Die Auswahl wird von Tabelle2 geholt und erscheint in einer 3 spalten Listbox und kann makiert werden (Multiselect) anschliessend wird mit Command Button nach Tabelle 3 kopiert.
    In der uf möchte ich nun eine Textbox (wenn andere mglk, gerne) in der der User die Anzahl der benötigten Etiketten eintragen kann (tbAnzahl).
    Im moment habe ich nun die Anzahl aus der tbAnzahl mit CInt ausgelesen und gebe diese nach D1 in Tabelle3.
    Diesen Wert möchte ich nun benutzen um per Loop alle in Tabelle3 kopierten Angaben entsprechend oft innerhalb der Tabelle3 (Header: Artikel, Bez1, Lagerplatz Txt) zu dublizieren da Tabelle3 gleichzeitig als Quelle für die entsprechenden
    Etikettenvorlagen in Word dient. Bitte lass mich wissen ob weitere Daten gebraucht werden oder ob untenstehendes reicht um eine Idee zu geben was ich plane.

    P.S. AutoCopy funktioniert im Prinzip (nicht mit untenstehender version) aber nur wenn alle 3 spalten vorhanden sind was nicht immer der Fall ist (Lagerplatz Txt fehlt teilweise). Dachte nun an etwas mit LastRow/LastColum.
    Bin noch recht neu im Programmieren.

    Vielen Dank.
    Patrick

    Code:
    Private Sub tbAnzahl_Change()
    
    
    If tbAnzahl = 0 Then
        MsgBox "Bitte Anzahl der Etiketten angeben"
    ElseIf tbAnzahl = "" Then
        MsgBox "Bitte Anzahl der Etiketten angeben"
    ElseIf Not IsNumeric(tbAnzahl) = True Then
        MsgBox "Das ist keine Zahl, bitte Anzahl eingeben"
    End If
    
    Sheets("Tabelle3").Range("D1") = CInt(tbAnzahl)
    Call AutoCopy
    Code:
    Sub AutoCopy()
    
    Dim Wiederholungen As Long
    Dim wks As Worksheet
    
    Set wks = Tabelle3
    
    Worksheets("Tabelle3").Activate
    
    
    'Application.ScreenUpdating = False
    
    For Wiederholungen = 2 To wks.Range("D1") + 2
        wks.Range(wks.Cells(1, 1), wks.Cells(1, 3).End(xlUp)).Offset(1, 0).Select
        Selection.Copy
        wks.Range(wks.Cells(r, c), wks.Cells(r, c).End(xlUp)).Offset(1, 0).Select
        ActiveSheet.Paste
        
    Next
    
    End Sub
    Ursprung von AutoCopy aus Herbers Archiv (http://www.herber.de/forum/archiv/560to564/561908_Zellinhalt_variabel_nach_unten_kopieren.html)

    Code:
    Option Explicit
    Sub AutoCopy()
    Dim Wiederholungen As Long
    Application.ScreenUpdating = False
    For Wiederholungen = 3 To Range("A2") + 2
    Range("A1").Copy Cells(Wiederholungen, 1)
    Next
    End Sub
    
    
    
     
    Zuletzt bearbeitet: 29. Juni 2015
    Patrick_swiss, 29. Juni 2015
    #3
  4. Beverly
    Beverly Erfahrener User

    Inhalt einer Listbox mehrfach in Tabelle ausgeben?

    Hi Patrick,

    ich würde nicht das Change-Ereignis der TextBox verwenden, denn dann hast du ein Problem, wenn eine zweistellige Zahl eingegeben wird. Benutze stattdessen z.B. das AfterUpdate-Ereignis, also wenn Enter gedrückt wurde um die TextBox zu verlassen. Außerdem kannst du die eingegebene Anzahl gleich mit an die Prozedur AutoCopy übergeben (roter Codeteil):

    Code:
    Private Sub tbAnzahl_AfterUpdate()
        If IsNumeric(tbAnzahl) Then
            If tbAnzahl > 0 Then
                [COLOR=#ff0000]AutoCopy CLng(tbAnzahl)[/COLOR]
            Else
                MsgBox "Bitte Anzahl > 0 angeben"
            End If
        Else
            MsgBox "Bitte Anzahl der Etiketten angeben"
        End If
    End Sub
    

    Das Kopieren würde dann so erfolgen können:

    Code:
    Sub AutoCopy([COLOR=#ff0000]lngAnzahl As Long[/COLOR])
        Dim Wiederholungen As Long
        Dim wks As Worksheet
        Set wks = Tabelle3
        For Wiederholungen = 2 To lngAnzahl
            wks.Range(wks.Cells(1, 1), wks.Cells(1, 3).End(xlUp)).Offset(1, 0).Copy _
                wks.Range(wks.Cells(r, c), wks.Cells(r, c).End(xlUp)).Offset(1, 0)
        Next
    End Sub
    

    Auf Select/Activate kann zu 99% aller Fälle verzichtet werden.


    Beide Codes konnte ich selbstverständlich nicht testen, da mir deine Mappe nicht vorliegt. Wie du das dann in deine Version einbaust musst du halt selbst sehen.

    Bis später,
    Karin
     
    Beverly, 29. Juni 2015
    #4
  5. Patrick_swiss Erfahrener User
    Hallo Karin,

    Vielen Dank erstmal für die Mühe. Werde beides direkt testen und schauen wie es läuft.

    Grüsse
    Patrick
     
    Patrick_swiss, 30. Juni 2015
    #5
  6. Patrick_swiss Erfahrener User
    Hallo Karin,

    hat nach etwas rumbasteln funktioniert.

    finale Code sieht so aus (nur das wks eingefügt):
    Code:
    Private Sub tbAnzahl_AfterUpdate()
        If IsNumeric(tbAnzahl) Then
            If tbAnzahl > 0 Then
                Worksheets("Tabelle3").Select
                AutoCopy CLng(tbAnzahl)
            Else
                MsgBox "Bitte Anzahl > 0 angeben"
            End If
        Else
            MsgBox "Bitte Anzahl der Etiketten angeben"
        End If
    End Sub
                                                                                                                          
    und AutoCopy sieht so aus:
    Code:
    Sub AutoCopy(lngAnzahl As Long)
    'Kopiert den Inhalt von Tabelle3 um die angegebene Anzahl von Etiketten zu füllen
    
    
        Dim Wiederholungen As Long
        Dim wks As Worksheet
        Dim LastRow As Long
        Dim LastCol As Integer
        Dim copR As Range
           
        Set wks = Tabelle3
        Set copR = wks.Range("A2:C2").Resize(Cells(Rows.Count, "A").End(xlUp).Row - 1)
        
        For Wiederholungen = 2 To lngAnzahl
            With ActiveSheet
                LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
                LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
            End With
            copR.Copy _
                wks.Range(wks.Cells(LastRow, 1), wks.Cells(LastRow, LastCol)).Offset(1, 0)
                        
        Next
        
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs "H:\MW Analyse_Etiketten\Etikettendruck_Auto.xlsm"
    Application.DisplayAlerts = True
      
        
    End Sub                                                                                                                   
                                                                                                                                        
    Ich weiss das sich das sicher noch optimieren lässt (Kürzerer Code und weiter Funktionen wie Sortieren der List o.ä :) ) aber das kommt. Danke nochmal für die Hilfe.
    Mit besten Grüssen aus der Schweiz
    Patrick
     
    Zuletzt bearbeitet: 30. Juni 2015
    Patrick_swiss, 30. Juni 2015
    #6
Thema:

Inhalt einer Listbox mehrfach in Tabelle ausgeben?

Die Seite wird geladen...
  1. Inhalt einer Listbox mehrfach in Tabelle ausgeben? - Similar Threads - Inhalt Listbox mehrfach

  2. Tabellenkopfbezeichnungen in Abhängigkeit von Inhalt ausgeben

    in Microsoft Excel Hilfe
    Tabellenkopfbezeichnungen in Abhängigkeit von Inhalt ausgeben: Hallo! Ich habe folgende Aufgabe zu lösen… In einer Tabelle soll nach einem bestimmten Zeichenkette (NEU) gesucht werden. Sofern dieser Name NEU gefunden wird, soll der Spaltenname des...
  3. Auf die nächst mögliche Zelle mit Inhalt zugreifen

    in Microsoft Excel Hilfe
    Auf die nächst mögliche Zelle mit Inhalt zugreifen: Einen schönen Sonntag wünsche ich. Ich möchte mit folgendem Code auf die nächst mögliche Zelle mit einem Wert zurück greifen. Der Code nimmt aber immer den vorherigen Wert in der Zelle. Wenn die...
  4. Meldung in Word "Von Word wurde nicht lesbarer Inhalt gefunden"

    in Microsoft Word Hilfe
    Meldung in Word "Von Word wurde nicht lesbarer Inhalt gefunden": FrageMicrosoft Office Hallo, wir nutzen MS Office 365 und in einem speziell für uns programmierten Programm nutzen wir Word-Templates (.dotx). Mit dem vorherigen alten Office Paket (2016) war es...
  5. Inhalt einer Listbox drucken

    in Microsoft Excel Hilfe
    Inhalt einer Listbox drucken: Hallo zusammen, habe in Excel 2010 folgendes Problem: In einer UserForm werden nach bestimmten Kriterien Daten aus einer umfangreichen Excel Datei in eine Listbox eingelesen. Besteht die...
  6. Inhalt eines Arrays in Listbox ausgeben

    in Microsoft Excel Hilfe
    Inhalt eines Arrays in Listbox ausgeben: Ich möchte alle Dateinamen der Textdateien, die sich in einem Ordner befinden, in einer Listbox ausgeben. Code: Dim i As Integer Dim Arr() As Variant With Application.FileSearch .NewSearch...
  7. Inhalt aus mehreren Textboxen in Tabelle suchen und in Listbox ausgeben

    in Microsoft Excel Hilfe
    Inhalt aus mehreren Textboxen in Tabelle suchen und in Listbox ausgeben: Guten Morgen zusammen, hier im Forum bin ich auf folgenden Code gestoßen http://www.office-hilfe.com/support/showthread.php/17436-TextBox-Inhalt-auf-anderem-Tabellenblatt-suchen. Für meine...
  8. Userform: der Inhalt in einer Combobox soll den Inhalt einer Listbox beeinflussen

    in Microsoft Excel Hilfe
    Userform: der Inhalt in einer Combobox soll den Inhalt einer Listbox beeinflussen: Hallo liebe Leute, Ich bastle heute zum ersten Mal an einer Userform rum und weiß nicht wie ich das Problem lösen kann. Momentaner Stand ich habe textboxen(unwichtig), 2 Listboxen und 1 mal...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden