Tabellenblatt abhängig vom benutzten PC speichen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Tabellenblatt abhängig vom benutzten PC speichen
von: Michael
Geschrieben am: 09.10.2015 19:34:52

Hallo Zusammen,
ich bräuchte mal wieder Hilfe. Ich habe eine Excel Arbeitsmappe, bei der ich mit einem Makro
nur das aktuelle Tabellenblatt abspeichern kann. Funktioniert auf dem PC reibungslos. Nun möchte ich ab und an die Datei auch auf dem Laptop bearbeiten und abspeichern. Ist es möglich den VBA Code so umzuschreiben, dass abhängig vom PC oder Laptop die Datei unter einem anderen Speicherpfad gespeichert wird. Ich suche und probiere schon eine ganze Weile, aber krieg es leider nicht hin. Die eigentliche Idee es auf einem Macbook zu bearbeiten, scheint hoffnungslos. Deshalb habe ich mal versuchsweise parallels installiert und könnte damit leben, wenn es zumindest unter Windows-Umgebungen funktioniert. Besten Dank schon mal für alle Tipps und Anregungen!!!


Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Name = ("Kd.Nr ") & Range("F20") & " " & Range("A20").Text
End Sub
Sub Check_Folder_And_Save()
Dim myFSO As Object, f As Object
Dim SaveFolder As String, myFileName As String, myLW As String
Set myFSO = CreateObject("Scripting.FileSystemObject")
SaveFolder = "Mein Speicherpfad"
ActiveSheet.Copy
myFileName = ActiveSheet.Name & ".xlsx"
myLW = Left(SaveFolder, 2)
ChDrive myLW
If myFSO.folderexists(SaveFolder) Then
    ActiveWorkbook.SaveAs Filename:=SaveFolder & "\" & myFileName
    MsgBox " Datei gespeichert in " & SaveFolder & ""
Else
    MkDir SaveFolder
    ActiveWorkbook.SaveAs Filename:=SaveFolder & "\" & myFileName
    MsgBox "Neuer Ordner " & SaveFolder & " Datei darin gespeichert"
End If
End Sub
Die Abfrage ob der Ordner vorhanden ist und das Anlegen eines Neue, wenn nicht muss eigentlich nicht sein, da der Ordner definitiv existiert.
Vielen Dank!!!!

Bild

Betrifft: AW: Tabellenblatt abhängig vom benutzten PC speichen
von: Hajo_Zi
Geschrieben am: 09.10.2015 19:40:39
reicht vielleicht schon
Environ("COMPUTERNAME")
oder ausführlicher
Computername
Private Const MAX_COMPUTERNAME_LENGTH As Long = 31
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Private Sub Form_Load()
Dim dwLen As Long
Dim strString As String
‘Create a buffer
dwLen = MAX_COMPUTERNAME_LENGTH + 1
strString = String(dwLen, "X")
‘Get the computer name
GetComputerName strString, dwLen
‘get only the actual data
strString = Left(strString, dwLen)
‘Show the computer name
MsgBox strString
End Sub

von Andi_Bln


Bild

Betrifft: AW: Tabellenblatt abhängig vom benutzten PC speichen
von: Michael
Geschrieben am: 09.10.2015 19:57:55
Hallo Hajo,
besten Dank für die schnelle Antwort. Muss ich deinen Code einfach vor den ursprünglichen setzen? Und an welche Stelle des Codes muss ich den anderen Speicherpfad angeben? Bin leider absoluter Anfänger.

Bild

Betrifft: AW: Tabellenblatt abhängig vom benutzten PC speichen
von: Hajo_Zi
Geschrieben am: 09.10.2015 20:04:16
Environ("COMPUTERNAME") schreibst Du auf eine variable
If Variable=PC" then
'erster Code
else
'zweiter Code
End if


Bild

Betrifft: AW: Tabellenblatt abhängig vom benutzten PC speichen
von: Michael
Geschrieben am: 09.10.2015 20:06:29
Ok, vielen Dank!!! Ich versuche mal zusammen zu bauen.
Besten Gruß Michael

Bild

Betrifft: AW: Tabellenblatt abhängig vom benutzten PC speichen
von: Michael
Geschrieben am: 09.10.2015 20:39:58
Hallo Hajo,
vielen vielen Dank!!! Grundsätzlich funktioniert es. Ein paar Feinheiten noch, aber das schaff ich glaub ich allein.
Einen schönen Abend noch und
beste Grüße
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Tabellenblatt abhängig vom benutzten PC speichen"