colioneMedlem sedan juni 20014 421 inlägg Jag föröker öppna upp en workbook samt kopiera innehållet med ett macro och det går bara fint. Sedan föröker jag pasta in det sheetet i ovanstående workbook i ett nytt sheet i min första workbook, men där tar det stopp. Jag får: Object sdoes not support this property or method.
Sub SysLatis()
Dim SourceWB As Workbook
Application.ScreenUpdating = False
Sheets.Add Type:=xlWorksheet
ActiveSheet.Name = "SysLathunden"
Set MyWB = ActiveWorkbook
Set SourceWB = Workbooks.Open("\\Slafs\SysLathund.xls", False, True)
SourceWB.Worksheets("Systemlathunden").Columns("A:L").Copy
SourceWB.Close (False)
-> Här blir felet ActiveWorkbook.Worksheets("SysLathunden").Columns("A:L").Paste
Set SourceWB = Nothing
Application.ScreenUpdating = True
End Sub
har provat att ändra till ThisWorkbook samty kört utan specifierade kolumner etc. Men får samma fel. Har ni några idéer?
du kan inte klistra in en kolumn, den moste infogas
MyWB.Worksheets("SysLathunden").Columns("A:L").Insert
colioneMedlem sedan juni 20014 421 inlägg Tack, nu funkade.
Kan man även plocka bort den där fråga som dyker upp när man kopierar i officepaketet om att det är en stor mängd data i minnet, och om man vill behålla det trycker man på yes om man inte vill det trycker man på no?
Löste det hela med koden jag har nedan, jag tömmer clipboard helt enkelt:
Sub SysLatis()
Dim SourceWB As Workbook
Application.ScreenUpdating = False
Sheets.Add Type:=xlWorksheet
ActiveSheet.Name = "SysLathunden"
Set MyWB = ActiveWorkbook
Set SourceWB = Workbooks.Open("\\Slafs\SysLathund.xls", False, True)
SourceWB.Worksheets("Systemlathunden").Columns("A:L").Copy
MyWB.Worksheets("SysLathunden").Columns("A:L").Insert
Application.CutCopyMode = False
SourceWB.Close (False)
Set SourceWB = Nothing
Set MyWB = Nothing
Application.ScreenUpdating = True
End Sub
Lite sen eftersom du löst det. Men för framtida bruk; Du kan ju alltid skippa klippboken helt och hållet. Exempelvis genom att tilldela värdena istället.
MyWB.Worksheets("SysLathunden").Columns("A:L").Value = _
SourceWB.Worksheets("Systemlathunden").Columns("A:L").Value
Om du gör lite större makron så är det mycket snabbare än klipp och klistra om du vill flytta VÄRDEN.
Alternativt kan du kopiera hela kalkylbladet. Borde vara det enklaste.
SourceWB.Sheets("Systemlathunden").Copy Before:=MyWB.Sheets(1)
' MyWB.Sheets("Systemlathunden").Name = "SysLathunden" ' Om du behöver döpa om .