AW: VBA kopieren von verbundenen Zellen
06.03.2014 15:37:38
verbundenen
Hallo Rene,
hier zwei Makros zum Kopieren bzw. übertragen der Werte vob "req" nach "PO".
Du hättest dir wenigstens das vertikale Verbinden der Zellen ab Zeile 48 in "PO" und im Blatt "Req" verkneifen können.
Gruß
Franz
Sub loadreq()
If MsgBox("jetzt sollten die Daten aus der Tabelle ""Req"" in das Blatt ""PO"" " _
& "kopiert werden?", _
vbQuestion + vbOKCancel, "Daten holen") = vbCancel Then Exit Sub
'kopieren nach "PO" inkl. Formeln, Formate auf Blatt "Req"
Dim wksReq As Worksheet, wksZiel As Worksheet
Dim lngRow As Long
Set wksZiel = ActiveSheet ' = Worksheets("PO")
Set wksReq = Worksheets("Req")
With wksReq
lngRow = .Cells(.Rows.Count, 3).End(xlUp).Row
'Kopieren Spaltenbereich C bis O mit Daten ab Zelle 3 kopieren
.Range(.Cells(3, 3), .Cells(lngRow + 1, 15)).Copy Destination:=wksZiel.Cells(48, 4)
End With
End Sub
Sub loadreq_dieZweite()
If MsgBox("Sollen die Daten aus der Tabelle ""Req"" in das Blatt ""PO"" " _
& "übertragen werden?", _
vbQuestion + vbOKCancel, "Daten holen") = vbCancel Then Exit Sub
'Werte übertragen von Blatt "Req" nach "PO"
Dim wksReq As Worksheet, wksZiel As Worksheet
Dim lngRow As Long, ZeileReq As Long, SpalteReq As Long
Dim Spalte_Z, Zeile_Z As Long
Set wksZiel = ActiveSheet ' = Worksheets("PO")
Set wksReq = Worksheets("Req")
Zeile_Z = 48
With wksReq
lngRow = .Cells(.Rows.Count, 3).End(xlUp).Row
For ZeileReq = 3 To lngRow Step 2
For SpalteReq = 3 To 15
Spalte_Z = 0
Select Case SpalteReq
Case 3: Spalte_Z = 4 'Material
Case 8: Spalte_Z = 9 'Description
Case 11: Spalte_Z = 12 'Del.Date
Case 12: Spalte_Z = 13 'Qyt
Case 13: Spalte_Z = 14 'Unit
Case 14: Spalte_Z = 15 'Price per Unit
End Select
If Spalte_Z 0 Then
wksZiel.Cells(Zeile_Z, Spalte_Z) = .Cells(ZeileReq, SpalteReq)
End If
Next
Zeile_Z = Zeile_Z + 2
Next
End With
End Sub