Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: vba Exceldatei auf Sharepoint ändern

vba Exceldatei auf Sharepoint ändern
10.05.2022 17:23:31
Road
Hallo Zusammen,
ich habe ein Excel-Datei die auf Button-Klick ein Email verschickt, nach dem Senden sollen Daten in eine Excel-Datei auf einem Sharepoint angehängt werden. So lange das lokal auf dem Laufwerk läuft funktioniert alles einwandfrei. Sobald die URL auf den Sharepoint verweist, wird die Datei, die die Daten erhalten soll schreibgeschützt geöffnet, die Daten angehängt und der Dialog "Speichern unten" geöffnet. Ziel ist es aber, die Datei zu öffnen, die Daten anzuhängen und wieder zu schließen ohne das manuell eingegriffen werden muss.
Code


Sub kopieren()
Dim lngEinfZeile As Long
Dim wkbZiel As Workbook
Dim strDatei As String
'Bildschirmaktualisierung ausschalten:
Application.ScreenUpdating = False
'Zielarbeitsmappe öffnen - Pfad anpassen
strDatei = "https://anywhere.sharepoint.com/:x:/r/sites/mysite/Shared%20Documents/Spielwiese/Anlagenbesetzung_fortlaufend.xlsx"
Application.DisplayAlerts = False
Set wbkZiel = Workbooks.Open(strDatei, , False)
'letzte beschriebene Zeile in Zielarbeitsmappe in Spalte A feststellen
'und um 1 erhöhen für Einfügezeile
With wbkZiel.Worksheets("Besetzung")
lngEinfZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1
End With
'erste Einfügezeile = Zeile 3; prüfen und ggf. anpassen
If lngEinfZeile 

Kann mir jemand helfen.
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba Exceldatei auf Sharepoint ändern
21.05.2022 07:59:51
Road
Super - das war es!
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel VBA für SharePoint: Daten automatisiert anhängen


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei auf SharePoint zu ändern und Daten automatisiert anzuhängen, befolge diese Schritte:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Modul erstellen: Klicke mit der rechten Maustaste auf "VBAProject" und wähle „Einfügen“ > „Modul“.

  3. Code einfügen: Füge den folgenden VBA-Code in das Modul ein:

    Sub kopieren()
       Dim lngEinfZeile As Long
       Dim wkbZiel As Workbook
       Dim strDatei As String
    
       ' Bildschirmaktualisierung ausschalten
       Application.ScreenUpdating = False
    
       ' Zielarbeitsmappe öffnen - Pfad anpassen
       strDatei = "https://anywhere.sharepoint.com/sites/mysite/Shared Documents/Spielwiese/Anlagenbesetzung_fortlaufend.xlsx"
       Application.DisplayAlerts = False
    
       ' ActiveWorkbook.LockServerFile verwenden
       Set wbkZiel = Workbooks.Open(strDatei, , False)
       ActiveWorkbook.LockServerFile
    
       ' Letzte beschriebene Zeile in Zielarbeitsmappe in Spalte A feststellen
       With wbkZiel.Worksheets("Besetzung")
           lngEinfZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1
       End With
    
       ' Daten anhängen (hier Code hinzufügen)
    
       ' Arbeitsmappe schließen und speichern
       wbkZiel.Close SaveChanges:=True
    
       ' Bildschirmaktualisierung wieder einschalten
       Application.ScreenUpdating = True
    End Sub
  4. Anpassen der URL: Stelle sicher, dass die SharePoint-URL korrekt ist und der :x:/r/ Teil entfernt wird, wie Yal in seinem Beitrag erwähnt hat.

  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro über ALT + F8 aus.


Häufige Fehler und Lösungen

  • Fehler: Schreibgeschützt geöffnet: Stelle sicher, dass du den :x:/r/ Teil der URL entfernst und ActiveWorkbook.LockServerFile verwendest, um die Datei zu sperren.
  • Fehler beim Öffnen der Datei: Überprüfe, ob du die richtigen Berechtigungen auf SharePoint hast und die URL korrekt ist.
  • Daten werden nicht angehängt: Achte darauf, dass du im Code den Abschnitt hinzufügst, wo die Daten tatsächlich angehängt werden.

Alternative Methoden

Wenn du mit VBA nicht vertraut bist, gibt es auch andere Möglichkeiten, Daten in eine SharePoint-Datei zu integrieren, wie:

  • Power Automate: Nutze Power Automate, um Prozesse zu automatisieren und Daten zwischen Excel und SharePoint zu übertragen.
  • SharePoint Excel Integration: Verwende die integrierten Funktionen von Excel, um direkt mit SharePoint-Daten zu arbeiten, ohne VBA.

Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du Daten aus einem anderen Arbeitsblatt an die SharePoint-Datei anhängen kannst:

' Beispiel für das Anhängen von Daten
wbkZiel.Worksheets("Besetzung").Cells(lngEinfZeile, 1).Value = ThisWorkbook.Worksheets("Daten").Cells(1, 1).Value

In diesem Beispiel wird der Wert aus Zelle A1 des aktuellen Arbeitsblatts in die nächstfreie Zeile der "Besetzung" Arbeitsmappe auf SharePoint geschrieben.


Tipps für Profis

  • Excel Makros in SharePoint ausführen: Achte darauf, dass deine Excel-Datei im richtigen Format (z.B. .xlsm) gespeichert ist, um Makros ausführen zu können.
  • Debugging: Verwende Debug.Print im Code, um Werte während der Ausführung zu überprüfen.
  • Fehlermeldungen abfangen: Implementiere Error-Handling in deinem VBA-Code, um mögliche Laufzeitfehler abzufangen.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die Datei nicht schreibgeschützt geöffnet wird?
Stelle sicher, dass du die URL richtig anpasst und ActiveWorkbook.LockServerFile verwendest.

2. Kann ich VBA in SharePoint Online verwenden?
Ja, du kannst VBA in Excel für SharePoint Online verwenden, solange du die richtigen Berechtigungen hast.

3. Wie kann ich die URL in meinem VBA-Code anpassen?
Entferne den :x:/r/ Teil aus der SharePoint-URL und ersetze ihn durch den richtigen Pfad.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige