PDA

Vollständige Version anzeigen : Übertragung von Daten


Farina-MM
23.03.2009, 08:05
Hallo Leute,
brauche dringende Eure Hilfe....
Ich würde ich gerne per VBA etwas an meiner Excelliste automatisieren:

VBA soll in Zeile F4:AM4 schauen ob in den jeweiligen Zellen "ADJ-L." drin steht. Ist dies der Fall,
so soll er in einer neuen Mappe namens "ADJ" diese dann im Datensatz untereinander aufführen. Also die Zeilen über z.b. F4!

Angenommen: Zelle F4 steht ADj-L. --->
dann soll er Zelle F1; F2; F3 und grundsätzliche D2 (fix) in der neuen Mappe einfügen.
Aber nur alle von in Zeile F ADJ-L. steht.

Kann jemand von euch sowas programmieren?


Lieben Gruß
Farina

jinx
23.03.2009, 17:12
Moin, Farina-MM,

klar - und was gibt´s außer einem weiteren Beitrag? ;)

Sub farina()

Dim rngCell As Range
Dim wsData As Worksheet
Dim wsTarg As Worksheet
Dim lngCounter As Long

Set wsData = ActiveSheet
Set wsTarg = Worksheets.Add

For Each rngCell In wsData.ResetAllPageBreaks("F4:AM4")
If rngCell.Value = "ADJ-L." Then
lngCounter = lngCounter + 1
wsTarg.Range(Cells(1, lngCounter), Cells(3, lngCounter)).Value = _
wsData.Range(Cells(1, rngCell.Column), Cells(3, rngCell.Column)).Value
wsTarg.Cells(4, lngCounter).Value = wsData.Cells(2, 4).Value
End If
Next rngCell

wsTarg.Move
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & Application.PathSeparator & "ADJ.xls"
ActiveWorkbook.Close

Set wsTarg = Nothing
Set wsData = Nothing

End Sub
Kopiert zuerst die Daten nebeneinander in eine neuangelegte Tabelle und verschiebt diese nachher in eine neue Mappe - Code ist ungetestet...

Farina-MM
24.03.2009, 06:13
Hallo jinx,

hier kommt eine fehlermeldung..........

For Each rngCell In wsData.ResetAllPageBreaks("F4:AM4")

:-(

jinx
24.03.2009, 17:05
Moin, Farina-MM,

das kann ich nur zu gut nachvollziehen - es sollte auch

For Each rngCell In wsData.Range("F4:AM4")
heißen.