kann mir bitte jemand hier mit Makro für Exceldatei in SharePoint helfen?
Vielen Dank im Voraus
Robert
Sub kopieren()
' Variablen deklarieren
Dim Datei As String
Dim Url As String
Dim i As Integer
i = 1
' Quellordner wird festgelegt
Url = "https://zt.sharepoint.com/sites/ZtSPServer/GF/100/04/01 Aufstellung Projekte/ _
Bestellungen\"
' Dateien des Quellordners ermitteln
Datei = ""
' Schleife, um jede Datei auszulesen
Do While Datei ""
' Datei öffnen (Url wird aus den Variablen Url und datei zusammengesetzt
Workbooks.Open Filename:=Url & OnlineDatei
' Z?hlvariable f?r die Zeilen (je Datei eine neue Zeile)
i = i + 1
' Cells wird wie folgt verwendet Cells(Zeilennummer, Spaltennummer)
' Wenn das Makro in der Zieldatei steht, kann die Datei ThisWorkbook genannt werden.
ThisWorkbook.Sheets("Tabelle2").Cells(i, 1) = ActiveWorkbook.Sheets("3.Positionen _
bearbeiten").Cells(15, _
67)
ThisWorkbook.Sheets("Tabelle2").Cells(i, 2) = ActiveWorkbook.Sheets("3.Positionen _
bearbeiten").Cells(15, _
68)
ThisWorkbook.Sheets("Tabelle2").Cells(i, 3) = ActiveWorkbook.Sheets("3.Positionen _
bearbeiten").Cells(15, _
69)
ThisWorkbook.Sheets("Tabelle2").Cells(i, 4) = ActiveWorkbook.Sheets("3.Positionen _
bearbeiten").Cells(15, _
70)
ThisWorkbook.Sheets("Tabelle2").Cells(i, 5) = ActiveWorkbook.Sheets("3.Positionen _
bearbeiten").Cells(15, _
71)
ThisWorkbook.Sheets("Tabelle2").Cells(i, 6) = ActiveWorkbook.Sheets("3.Positionen _
bearbeiten").Cells(15, _
72)
ThisWorkbook.Sheets("Tabelle2").Cells(i, 7) = ActiveWorkbook.Sheets("3.Positionen _
bearbeiten").Cells(15, _
73)
ThisWorkbook.Sheets("Tabelle2").Cells(i, 8) = ActiveWorkbook.Sheets("3.Positionen _
bearbeiten").Cells(15, _
74)
ThisWorkbook.Sheets("Tabelle2").Cells(i, 9) = ActiveWorkbook.Sheets("3.Positionen _
bearbeiten").Cells(15, _
75)
ThisWorkbook.Sheets("Tabelle2").Cells(i, 10) = ActiveWorkbook.Sheets("3.Positionen _
bearbeiten").Cells(15, _
76)
ThisWorkbook.Sheets("Tabelle2").Cells(i, 11) = ActiveWorkbook.Sheets("3.Positionen _
bearbeiten").Cells(15, _
77)
ThisWorkbook.Sheets("Tabelle2").Cells(i, 12) = ActiveWorkbook.Sheets("3.Positionen _
bearbeiten").Cells(15, _
78)
ThisWorkbook.Sheets("Tabelle2").Cells(i, 13) = ActiveWorkbook.Sheets("3.Positionen _
bearbeiten").Cells(15, _
79)
ThisWorkbook.Sheets("Tabelle2").Cells(i, 14) = ActiveWorkbook.Sheets("3.Positionen _
bearbeiten").Cells(15, _
80)
ThisWorkbook.Sheets("Tabelle2").Cells(i, 15) = ActiveWorkbook.Sheets("3.Positionen _
bearbeiten").Cells(15, _
81)
ThisWorkbook.Sheets("Tabelle2").Cells(i, 16) = ActiveWorkbook.Sheets("3.Positionen _
bearbeiten").Cells(15, _
82)
' Datei schlie?en, ohne ?nderungen zu speichern
ActiveWorkbook.Close savechanges:=False
' neue Datei aus dem Ordner lesen
Datei = Dir()
' Ende der Schleife
Loop
End Sub
ActiveWorkbook.Sheets("3.Positionen bearbeiten").Range((Cells(15, 67), Cells(15,82)).Copy _
ThisWorkbook.Sheets("Tabelle2").Cells(i, 1)
GrußSub kopieren()
'Makro zum ?ffnen aller Dateien eines Zielverzeichnisses
'Die Daten aus den Bereichen Tabelle1 (15, 67 ) bis (15, 82) und
'werden in Zieldatei (diese Datei)
'Tabelle1 Spalten A bis P kopiert.
'die Daten jeder Datei werden in eine eigene Zeile geschrieben
' Variablen deklarieren
Dim datei As String
Dim Url As String
Dim i As Integer
i = 0
' Quellordner wird festgelegt
Url = "https://tech.sharepoint.com/sites/tPServer/GF/100/04/01 Aufstellung Projekte/ _
Bestellungen/"
' Dateien des Quellordners ermitteln
datei = Dir(Url & "*xls*")
'Sub beenden, falls Ordner nicht existiert
If datei = vbNullString Then
MsgBox "Pfad existiert nicht"
Exit Sub
End If
' Schleife, um jede Datei auszulesen
Do While datei ""
' Datei ?ffnen (Url wird aus den Variablen Url und datei zusammengesetzt
Workbooks.Open Filename:=Url & datei
' Z?hlvariable f?r die Zeilen (je Datei eine neue Zeile)
i = i + 1
' Cells wird wie folgt verwendet Cells(Zeilennummer, Spaltennummer)
' Wenn das Makro in der Zieldatei steht, kann die Datei ThisWorkbook genannt werden.
ActiveWorkbook.Sheets("3.Positionen bearbeiten").Range(Cells(13, 67), Cells(13, 82)).Copy _
ThisWorkbook.Sheets("Tabelle2").Cells(i, 1)
' Datei schlie?en, ohne ?nderungen zu speichern
ActiveWorkbook.Close savechanges:=False
' neue Datei aus dem Ordner lesen
datei = Dir
' Ende der Schleife
Loop
End Sub
Falls das nicht klappt, vielleicht mal mit Application.FileDialog(msoFileDialogFolderPicker) versuchen, den Ordner auszuwählen. ' Quellordner wird festgelegt
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
Url = .SelectedItems(1) & "/"
End With
Um mit VBA in SharePoint zu arbeiten, benötigst du einen klaren Code, der die richtigen Dateien identifiziert und verarbeitet. Hier ist ein einfaches Beispiel, um Excel-Dateien in einem SharePoint-Ordner zu öffnen und Daten zu kopieren:
Sub kopieren()
' Variablen deklarieren
Dim datei As String
Dim Url As String
Dim i As Integer
i = 1
' Quellordner wird festgelegt
Url = "https://dein-sharepoint-url/Ordner/"
' Dateien des Quellordners ermitteln
datei = Dir(Url & "*xlsm") ' oder "*xls" je nach Dateityp
' Schleife, um jede Datei auszulesen
Do While datei <> ""
' Datei öffnen
Workbooks.Open Filename:=Url & datei
' Daten kopieren
ActiveWorkbook.Sheets("3.Positionen bearbeiten").Range("A1:B10").Copy _
ThisWorkbook.Sheets("Tabelle2").Cells(i, 1)
' Datei schließen
ActiveWorkbook.Close savechanges:=False
' Nächste Datei
datei = Dir
i = i + 1
Loop
End Sub
Dieser Code sucht nach allen Excel-Dateien im angegebenen SharePoint-Ordner und kopiert die Daten von "3.Positionen bearbeiten" in "Tabelle2".
Fehler: "Die Datei kann nicht heruntergeladen werden!"
Fehler: Laufzeitfehler 52 - Dateiname ist falsch.
Dir die richtige URL und den Dateityp verwendet, z.B. datei = Dir(Url & "*xlsm").Fehler: Anwendung kann nicht geöffnet werden.
Eine alternative Methode zur Verwendung von VBA in SharePoint ist, die Application.FileDialog-Funktion zu verwenden, um den Ordner auszuwählen. Hier ein Beispiel:
Sub wähleOrdner()
Dim Url As String
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
Url = .SelectedItems(1) & "/"
End With
' Anschließend kannst du die URL im vorherigen Code verwenden
End Sub
Diese Methode hilft dir, den richtigen Ordner manuell auszuwählen, falls die URL nicht korrekt ist.
Wenn du Excel-Makros in SharePoint online ausführen möchtest, ist es wichtig, den richtigen Dateipfad zu verwenden. Hier sind einige Beispiele:
Excel-Datei öffnen und Daten kopieren:
Workbooks.Open Filename:=Url & "deineDatei.xlsm"
Daten in SharePoint speichern:
ThisWorkbook.SaveAs Filename:=Url & "deineDateiNeu.xlsm"
Datei verschieben:
Name Url & "alteDatei.xlsm" As Url & "neuerOrdner/neueDatei.xlsm"
1. Wie kann ich Excel-Dateien auf SharePoint speichern?
Um eine Excel-Datei auf SharePoint zu speichern, benutze den SaveAs-Befehl mit dem vollständigen Pfad zur Datei auf SharePoint.
2. Funktioniert VBA in SharePoint Online? Ja, aber die Nutzung kann je nach Berechtigungen und Netzwerkeinstellungen variieren. Stelle sicher, dass du die richtigen Zugriffsrechte hast.
3. Was ist der Unterschied zwischen SharePoint und SharePoint Online? SharePoint ist die lokale Version, während SharePoint Online Teil von Office 365 ist und über das Internet zugänglich ist. Die VBA-Programmierung kann sich in Bezug auf die Methoden und Pfade unterscheiden.