Thema Datum  Von Nutzer Rating
Antwort
Rot Daten umstrukturieren mit VBA
15.08.2022 10:54:54 Yvonne
Solved

Ansicht des Beitrags:
Von:
Yvonne
Datum:
15.08.2022 10:54:54
Views:
271
Rating: Antwort:
 Nein
Thema:
Daten umstrukturieren mit VBA

Hallo Zusammen,

ich arbeite gerade erstmalig mit Makros und VBA und muss eine Vielzahl an Aktionen an Daten durchführen. Leider finde ich online keine Lösungen für meine einzelnen Schritte und hoffe, dass mir hier bei dem einen oder anderen Schritt geholfen werden kann.

Ausgangslage: 17 Exceldateien, welche regelmäßig mit neuen Daten gespeist werden

Ziel: 1 Exceldatei mit allen (relevanten Daten) der 17 Dateien

Ich habe einen Code gefunden, um die Inhalte der 17 Dateien in eine definierte Arbeitsmappe zu übertragen:

 

Sub MergeSheets2()
'Updated by Extendoffice
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
Dim xI As Integer
On Error Resume Next
 
vntPfadUndDateiNamen = Application.GetOpenFilename(FileFilter:="Excel Files (*.xlsx), *.xlsx", Title:="Wählen Sie die Dateien für die Zusammenführung aus!", MultiSelect:=True)

 
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
xStrFName = Dir(xStrPath & "*.xlsx")
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
For xI = 0 To UBound(xArr)
If xWS.Name = xArr(xI) Then
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.Count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.Count)
xMWS.Name = xStrAWBName & "(" & xArr(xI) & ")"
Exit For
End If
Next xI
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
 
End Sub

Frage 1: Aktuell werdend ie kompletten Inhalte übertragen- wie kann ich hier fixe Spalten vorgeben?

Frage 2: Wie stelle ich sicher, dass bei einem Update nur bisher fehlende Daten übertragen werden und nicht der ganze Abruf von vorne startet?

 

Darüberhinaus muss ich die Datenstruktur deutlich anpassen:

Ausganglage:                      
Participant Public ID Reaction Time Correct Incorrect Dishonest Timed Out ImageCentre TextCentre        
89   0 1 0              
89 24684 0 1 0              
89 1265 1 0 0   Bein08.png          
89 926 1 0 0     Original        
                       
Ziel:                       
Participant Public ID Bein08.png Bein08.png_Correct Bein08.png_Incorrect Bein08.png_Dishonest Bein08.png_Timed Out Original Original_Correct Original_Incorrect Original_Dishonest Original_Timed Out  
SPP_89 1265 1 0 0   926 1 0 0    
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       

Ich habe um die 300 Participants und jeder davon hat ca. 80 Zeilen, die enstprechend der beiden beispielzeilen umstrukturiert werden müssen. Wie macht man denn sowas generell? 

 

Ich bin für jede Hilfe und Hinweis mehr als dankbar, 

 

vielen Dank Euch schonmal fürs Lesen :-)


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 Daten umstrukturieren mit VBA
15.08.2022 10:54:54 Yvonne
Solved