Ich habe ein Stück Code, der eine Zeile von einem Excel zu einem anderen kopiert. Das Problem besteht darin, dass die Spalten E bis G und N bis O einen Verweis auf ein anderes Excel haben und beim Kopieren die Formel nicht den Zellenwert kopiert, was dazu führt, dass die Formel in absteigender Reihenfolge in der Zielspalte wiederholt wird. Ich habe versucht mit verstecken/unhide, aber es macht keinen großen Unterschied. Die Zielspalte D ergibt D1 = 1.xslm/Blatt1/Formel (n1); D2 = 2.xslm/sheet1/formula (n2) ... - das ist die Referenz aus der Quellblattspalte D. In der Quelle sind die Werte in Ordnung, im Ziel ist die Formel einfach falsch und sollte n1 nicht haben , n2 .... Wenn die Quelle 122 in Reihe Ziel ist, sollte es D1 = 1.xslm/sheet1/Formel (N122) ist, D2 = 2.xslm/sheet1/Formel (N122)Kopieren Wert nicht Formel Excel VBA
Sub copy1()
Dim c As Range
Dim j As Integer
Dim Source As Worksheet
Dim Target As Worksheet
Dim Sour As String
Dim Tar As String
Dim path As String
Dim AutoSR As Workbook
Dim asrSheet As Worksheet
Set AutoSR = ActiveWorkbook
Set Target = AutoSR.ActiveSheet
path = "c:\first.xlsm"
Tar = "Sheet1"
Set Source = Workbooks.Open(path).Sheets(Tar)
Source.Unprotect Password:="XXX"
Application.DisplayAlerts = False
Columns("E:G").EntireColumn.Hidden = False
Columns("N:O").EntireColumn.Hidden = False
Source.Range("N:O").EntireColumn.Hidden = True
For Each c In Source.Range("a1:a" & Cells.SpecialCells(xlCellTypeLastCell).Row)
If c = lNum Then
Source.Rows(c.Row).Copy Target.Rows(1)
End If
Next c
Source.Range("E:G").EntireColumn.Hidden = True
Source.Range("N:O").EntireColumn.Hidden = True
Source.Protect Password:="XXX"
Source.Activate
ActiveWorkbook.Close SaveChanges:=True
Set Source = Nothing
End Sub