"Seriendruck" von Excel nach Excel
#1
Guten Abend zusammen

Im Moment fuehle ich mich wie der groesste Anfaehner vor dem Herrn in Sache Excel  Huh Da braucht Frau 20 Jahre die Seriendruckfuntion von Excel zu Word und nun moechte Frau einen Seriendruck von Excel zu Excel machen un koennte sich die Haare raufen.

Also Tabelle mit Mitarbeiterspesen 900 Zeilen lang = eine seperate Arbeitsmappe
Spensenformular in Excel erstellt = muss pro Mitarbeiter erstellt werden und in eine seperate Datei verschoben werden,

Ich geh mal schwer davon aus, dass das nur ueber VBA gemacht werden kann - right?

Und nein ich habe eine Umlaute da ich mit einem englischen Keybord schreibe - SORRY

Gabriela aus dem fernen Kanada
Top
#2
Hallo,

ja, mit VBA dürfte es gehen, sofern das Formular passend formatiert ist. Aber ohne Beispieldatei mit dem Formular und ca 3-5 Datensätze kann niemand etwas konkretes dazu sagen.

mfg
Top
#3

.xlsx   David Matthews - 03262019 to 04252019.xlsx (Größe: 206,19 KB / Downloads: 5)
.xlsx   GL Report Beispieldaten_new.xlsx (Größe: 11,05 KB / Downloads: 3) Guten Abend Fennek

Ui das ging aber prompt  Angel

Hoffe das Hilft weiter

Gabriela
Top
#4
Hi,

da Excel keine Serienbrieffunktion hat, schau dir das mal an:
http://www.herber.de/forum/archiv/388to3...Excel.html
Mit freundlichen Grüßen  :)
Michael
Top
#5
Hallo,

eine Zuordnung ist möglich sofern die Namen der Spaltenköpfe EXAKT übereinstimmen, also klar ist, welcher Werte der "GL Beispieldaten_new" in welches Feld der "David Matthews" kommt.

Niemand hat Lust da lange zu suchen, oder irgendwelche Annahmen zu treffen, die sich später als falsch herausstellen.


Am besten wäre an mindest 2 Beispielen das Wunschergebnis zu zeigen.

mfg
Top
#6
Hallo,

es ist immer viele "hidden" Sheets zu sehen.

Hier ein Code, der in meinem Test recht gut war, aber ein paar Details fehlen noch:

Code:
Public DD As Object
Public Daten As Worksheet
Public Form As Worksheet

Sub F_en()

Application.DisplayAlerts = False
Set Daten = Sheets("Datensaetz") ' auch in anderem Workbook
Set Form = Sheets("Form")

Liste
With Daten.ListObjects(1).DataBodyRange
'Debug.Print .Cells(2, 1), .ListObjects.Count
    For Each Nm In DD.keys
        .AutoFilter 1, Nm
        With .SpecialCells(xlCellTypeVisible)
            Form.Range("E3") = .Cells(2, 1) 'Name
            Form.Range("E6") = .Cells(2, 3) 'Department
            Form.Range("E7") = .Cells(2, 4) 'Manager
            
            .Columns(5).Copy Form.Cells(15, 3) 'Datum
            .Columns(6).Copy Form.Cells(15, 4) 'Vendor
            .Columns(9).Copy Form.Cells(15, 7) 'Company Code
            .Columns(10).Copy Form.Cells(15, 8) 'Department Code
            .Columns(11).Copy Form.Cells(15, 9) 'Account Code
            .Columns(12).Copy Form.Cells(15, 10) 'Home Location
            .Columns(13).Copy Form.Cells(15, 11) 'Total$
        End With
    
    Form.Copy , Form
    ActiveSheet.Name = Nm
    Next Nm
    .AutoFilter
End With
End Sub

Sub Liste()

Set DD = CreateObject("Scripting.Dictionary")
Nm = Daten.UsedRange.Columns(1)

For i = 2 To UBound(Nm)
    DD.Item(Nm(i, 1)) = vbNullString
Next i

End Sub

mfg
Top
#7
Wow - so schnell habe ich keine Antwort erwarter aber herzlichen Dank - ich mach mich mal rann und so das eine oder andere kann ich dann evt. auch fixen.

Ich muss woll mich mal etwas vertiefter mit VBA befassen - ich bewundere alle die das wie ihre Muttersprache beherrschen.

Sende mal virtuell 100 Liter Marple Sirup - liebe Gruesse aus Kanada
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste