Ich fand diesen ausgezeichneten Code, aber ich muss es für meine Zwecke anpassen.Excel VBA - Öffnen Sie eine Arbeitsmappe und Einfügen von Daten
Zuerst muss ich eine Datenarbeitsmappe öffnen, die in unserem Netzwerk ist. Das Problem, das ich habe, ist, dass es manchmal von einem anderen Benutzer geöffnet wird und die Option "nur lesen" bietet. Wie kann ich die schreibgeschützte Option akzeptieren, damit ich mit dem Extrahieren der Daten beginnen kann?
Zweitens kopiert es mit dem "=". Wie kann ich es ändern, um nur die Werte zu kopieren?
Erstes Makro:
Sub test()
'to open another workbook
Application.ScreenUpdating = False
Workbooks.Open Filename:=ThisWorkbook.Path & "\Schedule.xls"
ThisWorkbook.Activate
Application.ScreenUpdating = True
End Sub
2. Macro:
Dim Sh As Worksheet
Dim Newsh As Worksheet
Dim myCell As Range
Dim ColNum As Integer
Dim RwNum As Long
Dim Basebook As Workbook
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
'Delete the sheet "Summary-Sheet" if it exist
Application.DisplayAlerts = False
On Error Resume Next
ThisWorkbook.Worksheets("Summary-Sheet").Delete
On Error GoTo 0
Application.DisplayAlerts = True
'Add a worksheet with the name "Summary-Sheet"
Set Basebook = ThisWorkbook
Set Newsh = Basebook.Worksheets.Add
Newsh.Name = "Summary-Sheet"
'The links to the first sheet will start in row 2
RwNum = 1
For Each Sh In Basebook.Worksheets
If Sh.Name <> Newsh.Name And Sh.Visible Then
ColNum = 1
RwNum = RwNum + 1
'Copy the sheet name in the A column
Newsh.Cells(RwNum, 1).Value = Sh.Name
For Each myCell In Sh.Range("A1,D5:E5,Z10") '<--Change the range
ColNum = ColNum + 1
Newsh.Cells(RwNum, ColNum).Formula = _
"='" & Sh.Name & "'!" & myCell.Address(False, False)
Next myCell
End If
Next Sh
Newsh.UsedRange.Columns.AutoFit
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub
Vielen Dank Jason. Könnte ich Sie bitte fragen, wie Sie beide Makros zusammenführen, so dass die Datenmappe für die Datenextraktion geöffnet wird und Sie dann keine Änderungen speichern können. – Angelo