online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Master25 vom 04.05.2019, 13:23 Options

Direkte Verknpüfung zu Arbeitsblättern (Excel)

Hallo,

ich habe eine Excel-Datei mit mehreren Arbeitsblättern und würde zu diesen gerne durch normale Verknüpfungen auf meinem Desktop springen.

Nun habe ich im Internet allerlei gelesen über Möglichkeiten mit VBA besondere Parameter auszulesen und zu verarbeiten oder eine Variante, wo man #Arbeitsmappenname!Zelle anfügen soll aber nichts hat funktioniert.

Weiß jemand eine funktionierende Lösung?

Vielen Dank im Vorraus, Erik


Antwort schreiben

Antwort 1 von Beverly vom 04.05.2019, 19:20 Options

Hi Erik,

du kannst doch eine Verknüpfung zur betreffenden Arbeitsmappe auf dem Desktop ablegen. In das Workbook_Open Ereignis unter Diese Arbeitsmappe schreibst du, welche Tabelle beim Öffnen aktiviert werden soll

Private Sub Workbook_Open()
    Worksheets("Tabelle1").Activate
End Sub


Bis später,
Karin

Antwort 2 von Master25 vom 05.05.2019, 09:30 Options

Danke für die Antwort Karin! Ich möchte jedoch, je nachdem wie die Verknüpfung lautet (z.B. datei.xls#rotesblatt oder datei.xls#blauesblatt) immer das jeweils gerade gewünschte Arbeitsblatt öffnen und nicht immer dasselbe.

Hast Du auch eine Idee dazu?

Antwort 3 von Beverly vom 05.05.2019, 09:52 Options

Hi Erik,

die Auswahl, mit welcher Tabelle geöffnet werden soll, lässt sich im Workbook_Open Ereignis abfragen. Es gibt da z.B. die Möglichkeit, beim Schließen der Arbeitsmappe den Tabellenamen, mit dem das nächste Mal geöffnet werden soll, in eine Zelle einzutragen, oder man macht es beim Öffnen mit einer InputBox, die nach der Tabelle fragt.

Bis später,
Karin

Antwort 4 von Master25 vom 05.05.2019, 13:22 Options

Ich verstehe. Aber es gibt keine Möglichkeit das zu öffnende Arbeitsblatt einer Excel-Datei über einen Link festzulegen?


Nur am Rande:

Als ich im Internet danach gestöbert hatte, habe ich ein VBA Script gefunden (Google -> "SOSCQ startparameter excel"), was die Startparameter, mit der die Excel-Datei geöffnet wurde, ausgelesen hat (der Parameter /e lässt dahinter eigene Parameter zu) und je nachdem was dort als Parameter stand, das entsprechende Arbeitsblatt geöffnet hat

z.B. Ausführen... -> excel.exe "C:\Verzeichnis\Datei.xls" /e/Arbeitsblatt

...nur leider hat dies nicht funktioniert. Da ich selbst kein VBA kann, konnte ich das Script auch nicht fixen. Ginge es darüber bzw. wäre das mit einer aktuelleren, als die dort verwendete, Version von Excel möglich?

Antwort 5 von Beverly vom 06.05.2019, 10:37 Options

Hi Erik,

ich verwende Excel2002 und bei mir funktioniert das ebenfalls nicht. Die Verwendung von Startparametern hat nichts mit Excel-VBA-Programmierung an sich zu tun.

Ich hatte deshalb gedacht, man könne vielleicht mit Excel-VBA den Anzeigenamen einer Verknüpfung auslesen und hatte deshalb in meinem Heimforum dazu eine Frage gestellt. Mir wurde geantwortet, dass das mit VBS möglich sei. Da ich mich damit jedoch nicht auskenne, kann ich dir leider nicht weiterhelfen. Hier der Link zum Beitrag, vielleicht kannst du damit ja etwas anfangen.

Bis später,
Karin

Antwort 6 von Beverly vom 06.05.2019, 15:19 Options

Hi Erik,

Ergänzung bzw. Korrektur zu meinem vorherigen Post: unter dem Link findest du eine Lösung für dein Problem und eine Beschreibung, wie du dabei vorgehen kannst.

Bis später,
Karin

Antwort 7 von Master25 vom 07.05.2019, 11:08 Options

Viele Dank für den hilfreichen Link! Ich habe die Anweisungen befolgt und es funktioniert tadellos!

Ich habe nur eine kleine Optimierung/Änderung vorgenommen, dass man nicht den kompletten Pfad der Excel-Datei übergeben muss, sondern nur den Namen und das Script den Pfad verwendet, in dem es selber liegt.

hier das vollständige Script:


'--------------------------------------------------------------------------
'---	Projekt:	VERKNUEPFUNG					---
'---	Modul:		start						---
'---	Beschreibung:   Start von Excel mit Tabelle			---
'--------------------------------------------------------------------------
'---	Erstellt von:	Andre Schau					---
'---			am:		06.05.2007			---
'--------------------------------------------------------------------------
'---    Änderungen:							---
'---	Datum		Version	Autor		Beschreibung		---
'---	07.05.2007	Notepad	Erik M.		Pfad von .vbs für .xls	---
'--------------------------------------------------------------------------
'---    Verknüpfung z.B. 
'---	"C:\arbeitsblatt.vbs" "Pfeilrichtung.xls" "Tabelle2"
'--------------------------------------------------------------------------
'--- Allgemeine Definitionen ---
'--------------------------------------------------------------------------
Option Explicit

'--------------------------------------------------------------------------
'--- Konstanten  ---
'--------------------------------------------------------------------------
'--- Allgemeines ---

'--- Fehlerkonstanten ---
Public Const ERR_OK_        = 0
Public Const ERR_CRITICAL_  = 2
Public Const ERR_CANCEL_    = -1
Public Const ERR_WARNING_   = -10

'--------------------------------------------------------------------------
'--- Variablen  ---
'--------------------------------------------------------------------------
Public file_name
Public table_name
'--------------------------------------------------------------------------
'--- Programmfunktionen ---
'--------------------------------------------------------------------------

'--------------------------------------------------------------------------
'--- Main ---
'--------------------------------------------------------------------------
Dim err_code
Dim wshShell, oFileSystem
Dim oExcel, oWbk, fso, sfile, scriptpath

	Set WshShell = WScript.CreateObject("WScript.Shell")
	Set oFileSystem = CreateObject("Scripting.FileSystemObject")

	err_code = ERR_OK_

	ScriptPfad 'Scriptpfad bestimmen
	Parse_CMDLine 'Argumente auswerten

	If err_code = ERR_OK_ Then
		If NOT oFileSystem.FileExists (File_Name) Then 'prüfen, ob Datei vorhanden
			err_code = ERR_CRITICAL_
			wscript.echo "Datei <" & File_Name & "> nicht gefunden!"
      wscript.quit
		End If
  Else
     ' Fehler bei Kommandozeilenauswertung
     wscript.echo "Fehler: " & err_code & " " & err.description
     wscript.quit
  End If

  
	'--- Excel Öffnen
	Set oExcel = CreateObject("Excel.Application") 'Excel Objekt zuweisen 
	oExcel.visible = true 'Excel sichtbar starten
	Set oWbk = oExcel.Workbooks.Open (File_Name, false, true) 'Mappe öffnen
	oExcel.Worksheets(Table_Name).Activate 'Tabelle aktivieren

'--------------------------------------------------------------------------
'--- ENDE ----
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
Function Parse_CMDLine ()
'--- Liest die Parameter der Kommandozeile aus
Dim objArgs

On error resume next
err_code = 2

	Set objArgs = WScript.Arguments 'Argumente Objekt zuweisen
	File_Name= scriptpath & objArgs(0) 'erstes Argument
	Table_Name= objArgs(1) 'zweites Argument

err_code = err.number 'fehlt ein Argument kommt error 9

End Function


Function ScriptPfad ()

	set fso = CreateObject("Scripting.FileSystemObject")
	scriptpath = fso.getparentfoldername(WScript.ScriptFullName) & "\"

End Function

Ähnliche Themen

Excel Arbeitsmappe als PDF
Sebi^  23.01.2007 - 165 Hits - 4 Antworten

aus Excel Hyperlinks in pdf wandeln ???
HMu  15.08.2007 - 97 Hits -

Inhaltsverzeichnis mit Excel
micico  19.11.2007 - 133 Hits - 2 Antworten

Excel: Benannten Bereich auf mehreren Arbeitsblättern nutzen?
Chriss_netsw  06.02.2008 - 33 Hits - 8 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026