Thema Datum  Von Nutzer Rating
Antwort
Rot Spaltenlänge an andere Spaltenlänge anpassen
20.05.2014 09:32:55 Gast97445
NotSolved
21.05.2014 14:58:48 Gast13493
NotSolved
21.05.2014 15:05:10 Gast23206
NotSolved

Ansicht des Beitrags:
Von:
Gast97445
Datum:
20.05.2014 09:32:55
Views:
2043
Rating: Antwort:
  Ja
Thema:
Spaltenlänge an andere Spaltenlänge anpassen
Hallo zusammen,

ich versuche mal grob mein Problem zu beschreiben. Es gibt mehrere Excel-Dateien (Excel Version 2010). Dies sind Meldebögen
für Kunden. Der Aufbau entspricht nicht einem klassischen Tabellenaufbau. In einzelnen Zellen (B1, B3, B5, B6, E3)stehen Daten wie Name,
Kundennummer etc.. Darunter folgt ein normaler Tabellenaufbau von A10:A19 bis I10:I19. Durch Klick auf einen Button 
sollen die Daten der einzelnen Dateien importiert und in der Hauptdatei von A3:Q3 eingefügt werden. Wenn mehrere Dateien ausgewählt sind,
werden die Daten automatisch eine Zeile weiter nach unten eingetragen. Das funktioniert so weit auch wie ich mir das vorstelle.

Mein Problem: In den Zellen B1, B3, B5, B6, E3 stehen immer nur Einzelwerte. Von A10:A19 bis I10:I19 können mehrere Werte auftreten.
Bsp.: Kunde Max Mustermann (B1) hat 3 Produkte x (A10:A13). Werden Die Daten nun Importiert so habe ich in der Hauptsatei das Problem, dass bei mehreren Dateien
die Zeilen versetzt werden. Also der Neue Kunde steht zwar unter Max Mustermann, aber direkt neben den Produkten von Max Mustermann.
Wie kann ich das Problem lösen, dass wenn z.B die Range A10:A13 umfasst die einzelne Zelle B1 automatisch um die jeweilige größe der Spalte nach unten versetzt wird?
Am liebsten wäre mir, wenn dann z.B 3 mal der Name Max Mustermann erscheinen würde. Ich hoffe Ihr könnt mir bei meinem Problem helfen :)

Hier mein Code:


Public Sub Daten_mehrerer_Dateien_zusammenfuehren()
'
'
'
'
On Error GoTo errExit
Dim WBQ As Workbook
Dim WBZ As Workbook
Dim varDateien As Variant
Dim lngAnzahl As Long
 
Set WBZ = ActiveWorkbook

WBZ.Worksheets(1).Range("A3:IV65536").ClearContents
 
varDateien = _
Application.GetOpenFilename("Datei(*.xlsm),*.xlsm", False, "Bitte gewünschte Datei(en) markieren", False, True)
 
With Application
  .ScreenUpdating = False
  .EnableEvents = False
  .Calculation = xlCalculationManual
End With
 
For lngAnzahl = LBound(varDateien) To UBound(varDateien)
Set WBQ = Workbooks.Open(Filename:=varDateien(lngAnzahl))
  
  WBQ.Worksheets(1).Range("A10:A19").Copy
  WBZ.Worksheets(1).Range("E" & WBZ.Worksheets(1).Range("E65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, operation:=xlNone, skipblanks:=False, Transpose:=False
  
  WBQ.Worksheets(1).Range("B10:B19").Copy
  WBZ.Worksheets(1).Range("C" & WBZ.Worksheets(1).Range("C65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, operation:=xlNone, skipblanks:=False, Transpose:=False
  
  WBQ.Worksheets(1).Range("E10:E19").Copy
  WBZ.Worksheets(1).Range("M" & WBZ.Worksheets(1).Range("M65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, operation:=xlNone, skipblanks:=False, Transpose:=False
  
  WBQ.Worksheets(1).Range("F10:F19").Copy
  WBZ.Worksheets(1).Range("H" & WBZ.Worksheets(1).Range("H65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, operation:=xlNone, skipblanks:=False, Transpose:=False
  
  WBQ.Worksheets(1).Range("G10:G19").Copy
  WBZ.Worksheets(1).Range("Q" & WBZ.Worksheets(1).Range("Q65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, operation:=xlNone, skipblanks:=False, Transpose:=False
  
  WBQ.Worksheets(1).Range("H10:H19").Copy
  WBZ.Worksheets(1).Range("I" & WBZ.Worksheets(1).Range("I65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, operation:=xlNone, skipblanks:=False, Transpose:=False
  
  WBQ.Worksheets(1).Range("I10:I19").Copy
  WBZ.Worksheets(1).Range("N" & WBZ.Worksheets(1).Range("N65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, operation:=xlNone, skipblanks:=False, Transpose:=False
 
  WBQ.Worksheets(1).Range("B1").Copy
  WBZ.Worksheets(1).Range("A" & WBZ.Worksheets(1).Range("A65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, operation:=xlNone, skipblanks:=False, Transpose:=False
 
  WBQ.Worksheets(1).Range("B3").Copy
  WBZ.Worksheets(1).Range("D" & WBZ.Worksheets(1).Range("D65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, operation:=xlNone, skipblanks:=False, Transpose:=False
  
  WBQ.Worksheets(1).Range("E3").Copy
  WBZ.Worksheets(1).Range("B" & WBZ.Worksheets(1).Range("B65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, operation:=xlNone, skipblanks:=False, Transpose:=False
  
  WBQ.Worksheets(1).Range("B5").Copy
  WBZ.Worksheets(1).Range("K" & WBZ.Worksheets(1).Range("K65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, operation:=xlNone, skipblanks:=False, Transpose:=False
  
  WBQ.Worksheets(1).Range("B6").Copy
  WBZ.Worksheets(1).Range("L" & WBZ.Worksheets(1).Range("L65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, operation:=xlNone, skipblanks:=False, Transpose:=False

WBQ.Close
Next

With Application
  .ScreenUpdating = True
  .EnableEvents = True
  .Calculation = xlCalculationAutomatic
End With
 
MsgBox "Es wurden " & UBound(varDateien) & " Dateien zusammengefügt.", 64
 
Exit Sub
 
errExit:
With Application
  .ScreenUpdating = True
  .EnableEvents = True
  .Calculation = xlCalculationAutomatic
End With
 
If Err.Number = 13 Then
MsgBox "Es wurde keine Datei ausgewählt"
  Else
MsgBox "Es ist ein Fehler aufgetreten!" & vbCr _
& "Fehlernummer: " & Err.Number & vbCr _
& "Fehlerbeschreibung: " & Err.Description
End If
 
End Sub


 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Spaltenlänge an andere Spaltenlänge anpassen
20.05.2014 09:32:55 Gast97445
NotSolved
21.05.2014 14:58:48 Gast13493
NotSolved
21.05.2014 15:05:10 Gast23206
NotSolved