Formatanpassung mit VBA
#1
Hallo zusammen, 

ich habe eine Beispieldatei in den Anhang gepackt. 

Ist es mit VBA möglich, die Rohdatei in die Zieldatei umzuwandeln? 

Vielen Dank vorab für die Hilfe!

Liebe Grüße

Student 10


Angehängte Dateien
.xlsx   Test mit VBA.xlsx (Größe: 26,2 KB / Downloads: 8)
Antworten Top
#2
Hi Student,


Zitat:Ist es mit VBA möglich, die Rohdatei in die Zieldatei umzuwandeln? 


Für diese Frage muss keine Datei angehängt werden. Zumindest  verstehe ich sie so, dass Du eine Datei unter anderen Namen (ggf. abweichendem Format) speichern möchtest. Deshalb lade ich mir Deine Datei auch nicht herunter. Falls Du was anderes wolltest, solltest Du Deine Fragen konkreter stellen.
Auch ist es immer ratsam, dass man, bevor man ein Forum bemüht, immer erst einmal eigene Recherchen durchführt. Aber ok... Du lernst ja noch... deshalb greif ich Dir schnell mal unter die Arme:

Speichern unter

MS ist für die Beantwortung solcher Fragen meist eine gute Adresse...

Falls es aber, wie im Topic formuliert, um Formatierungen innerhalb der Datei geht, auch dafür sind MS, Suchmaschinen und auch der Makrorecorder für die Erst- und Eigenhilfe absolut hilfreich.
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top
#3
Big Grin 
Hi, 

vielen Dank für den Link. 

Ich habe die Frage falsch gestellt. Ich wollte wissen, ob hier ein VBA-Experte ist, der das mit links schafft und mir das dann abschauen. 

Mit fehlt der passende Ansatz, um das Datum und die Stunden in das Format der Zieldatei zu überführen. 

Ich habe jetzt einen manuellen Zwischenschritt erstellt und nur das Datum links geschrieben (A) und die jeweiligen Stunden von 1-24 in C-Z. 
Dieser Schritt müsste aber doch auch automatisch funktionieren, da ich das Datum splitten muss (Tag in Spalte A, Stunden in C-Z) und die Werte, die in Spalte B gegeben sind in Spalte C-Z mit der jeweiligen Stundenzahl aus Spalte A.
 
In der Zieldatei gilt, um die entsprechenden Stunden des jeweiligen Tages in Spalte B zu überführen: 

Sub Trans()
Dim S1 As Integer, Sx As Integer, Z1 As Integer, Zx As Integer
Dim Zeile As Integer, ZielZ As Integer

Z1 = 2
S1 = 3

Zx = Cells(Rows.Count, S1).End(xlUp).Row 'letzte Zeile der Spalte
Sx = Cells(Z1, Columns.Count).End(xlToLeft).Column 'letzte Spalte einer Zeile

ZielZ = Z1

For Zeile = Z1 To Zx
Cells(ZielZ, 2).Resize(Sx - S1 + 1, 1).Value = WorksheetFunction.Transpose(Cells(Zeile, S1).Resize(1, Sx - S1 + 1).Value)
ZielZ = ZielZ + Sx - S1 + 1
Next
End Sub


Ich muss also das Datum mit einer automatisierten Funktion splitten und gleichzeitig den obigen Code ausführen... 

Ich hoffe, dass meine Fragestellung etwas verständlicher ist und ich es mir nicht zu kompliziert mache. 

Liebe Grüße

Student10
Antworten Top
#4
@Ralf: Wenn du die Datei runtergeladen hättest, würdest du merken, dass deine Vermutungen völlig daneben liegen...

@Student:
Wie genau hängen Roh- und Zieldatei zusammen? Wo findest sich z.B. die Angabe "01.10.2022/06" in der Zieldatei? Wo kommen die Werte in den Spalten C:Z der Zieldatei her? 
Was hat das alles mit irgendwelchen Formatierungen zu tun?
Ein wenig mehr Mühe solltest du dir bei der Fragestellung schon geben.


EDIT:
Da haben sich unsere Beiträge überschnitten. Aber für deine Aufgabe bietet sich wohl am ehesten PQ an.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • Student10
Antworten Top
#5
Code:
Sub M_snb()
  sn = Sheet1.UsedRange.Columns(1)
 
  For j = 2 To UBound(sn)
    sn(j, 1) = Replace(sn(j, 1), "/", " ") & ":00:00"
  Next
 
  Sheet1.UsedRange.Columns(1) = sn
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#6
(19.10.2022, 11:21)HKindler schrieb: @Ralf: Wenn du die Datei runtergeladen hättest, würdest du merken, dass deine Vermutungen völlig daneben liegen...

...ich muss mir nicht alles herunterladen, nur weil es angeboten wird. 
Aber wie Du ja selbst festgestellt hast, wurde die Frage nicht zielführend formuliert. Schon allein Topic und anschließende Fragestellung widersprechen sich. Darauf habe ich auch hingewiesen. Dass beides passt, liegt aber nicht in meinen Händen...
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top


Gehe zu:


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