Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
432to436
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
432to436
432to436
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zelle in einer anderen Arbeitsmappe anspringen.

Zelle in einer anderen Arbeitsmappe anspringen.
26.05.2004 16:53:26
Gerd_F
Hallo,
die Lösung ist wahrscheinlich super einfach, aber ich komme einfach nicht weiter in der Umsetzung:
eine Variable, die einen Bezug zu einer Zelle in einem anderen Tabellenblatt hat, soll ausgewertet werde, damit man eben zu dieser Zelle springen kann.
Hier das Makro bisher:

Sub Werte_in_andere_Tabelle_eintragen()
Dim Eingabeort As Range
Dim external As Range
Dim Zellbezug As Variant
Set Eingabeort = Application.InputBox( _
prompt:="Bitte auf einem Tabellenblatt die erste Zelle suchen, wo die
Preise eingetragen werden sollen", Type:=8)
Zellbezug = Eingabeort.Address(, , , True)
' hier soll jetzt "Zellbezug" ausgewertet werden, damit man zum
' markierten Feld (also dem Feld das mit der inputbox angewählt wurde)
' springen kann
Selection.Value = "50 Euro"  'das ist nur ein Beispiel
End Sub

__________________________
Wer kann mir helfen und das Makro ergänzen?
Danke
Gerd

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle in einer anderen Arbeitsmappe anspringen.
26.05.2004 19:25:59
Christoph
Hallo Gerd,
ich könnte mir gut vorstellen, dass das einfacher geht, als den String wieder zu zerpflücken. Aber ein anderer Weg fällt mir mir im Moment nicht ein.
Gruß
Christoph
('ne Rückmeldung wäre nett)

Sub Werte_in_andere_Tabelle_eintragen()
Dim Eingabeort As Range
Dim external As Range
Dim Zellbezug As Variant
Dim strTab As String, strZelle As String
Set Eingabeort = Application.InputBox( _
"Bitte auf einem Tabellenblatt die erste Zelle suchen, wo die" & _
"Preise eingetragen werden sollen", Type:=8)
Zellbezug = Eingabeort.Address(, , , True)
strTab = Mid(Zellbezug, InStr(1, Zellbezug, "]", 1) + 1, _
InStr(1, Zellbezug, "!", 1) - InStr(1, Zellbezug, "]", 1) - 2)
If InStr(1, Zellbezug, ":", 1) = 0 Then
strZelle = Mid(Zellbezug, InStr(1, Zellbezug, "$", 1), _
Len(Zellbezug) - InStr(1, Zellbezug, "$", 1) + 1)
Else
strZelle = Mid(Zellbezug, InStr(1, Zellbezug, "$", 1), _
InStr(1, Zellbezug, ":", 1) - InStr(1, Zellbezug, "$", 1))
End If
Sheets(strTab).Range(strZelle) = "50 Euro"
End Sub

Anzeige
AW: Zelle in einer anderen Arbeitsmappe anspringen.
28.05.2004 10:07:38
Gerd_F
Hallo Christoph,
ganz herzlichen Dank für Deine Mühe. Dein Ansatz ist eine gute Idee, es klappt aber leider nicht auf Anhieb. Man müßte probieren, den Namen der Arbeitsmappe von der Zelladresse zu trennen, was Du ja versucht hast. Aber mit strTab kommt nicht der komplette Name, der wird leider abgeschnitten. Als Trenner hast Du glaub ich das !-Zeichen verwendet.
Wenn man die beiden Str gefunden hat müßte man damit eine selection machen, damit die "50 Euro" dann in das Feld geschrieben werden was man sich vorher manuell ausgesucht hat. Was muß dafür definiert werden und wie lautet dann der Code?
Vielleicht hast Du ja noch einmal Lust dieses Problem zu wälzen. Ich war leider gestern nicht im Büro und jetzt ist der tread wieder zwei Tage weiter...
Grüße
Gerhard
Anzeige
AW: Zelle in einer anderen Arbeitsmappe anspringen.
28.05.2004 16:18:23
Christoph
hallo Gerd,
mir ist noch nicht so ganz klar, was du willst. Bei geöffneter Inputbox kannst du meines Erachtens nicht das Workbook (=Datei) wechseln. Natürlich kannst du den Code von einem anderen Workbook aus starten, dafür brauchst du aber den Dateinamen jenes Workbooks dann auch wieder nicht in deinem Code.
Deshalb habe ich nur den Tabellen-Namen und die erste Zelladresse genommen.
Allerdings fehlt wohl noch eine Fallunterscheidung bei meinem bisherigen Code, da je nach Dateiname ein Hochkomma in "Zellbezug" vorkommt oder nicht (Korrektur s.u.)
Um den Wert "50 Euro" in die Zelle: "Sheets(strTab).Range(strZelle)" zu schreiben, ist keine "Selection" notwendig.
Wenn du unbedingt den Dateinamen extrahieren willst, dann zB. mit:
strDat = Mid(Zellbezug, InStr(1, Zellbezug, "[", 1) + 1, _
InStr(1, Zellbezug, "]", 1) - InStr(1, Zellbezug, "[") - 1)
so müsste es laufen:
Gruß
Christoph

Sub Werte_in_andere_Tabelle_eintragen()
Dim Eingabeort As Range
Dim external As Range
Dim Zellbezug As Variant
Dim strTab As String, strZelle As String
Set Eingabeort = Application.InputBox( _
"Bitte auf einem Tabellenblatt die erste Zelle suchen, wo die" & _
"Preise eingetragen werden sollen", Type:=8)
Zellbezug = Eingabeort.Address(, , , True)
If InStr(2, Zellbezug, "'", 1) = 0 Then
strTab = Mid(Zellbezug, InStr(1, Zellbezug, "]", 1) + 1, _
InStr(1, Zellbezug, "!", 1) - InStr(1, Zellbezug, "]", 1) - 1)
Else
strTab = Mid(Zellbezug, InStr(1, Zellbezug, "]", 1) + 1, _
InStr(1, Zellbezug, "!", 1) - InStr(1, Zellbezug, "]", 1) - 2)
End If
If InStr(1, Zellbezug, ":", 1) = 0 Then
strZelle = Mid(Zellbezug, InStr(1, Zellbezug, "$", 1), _
Len(Zellbezug) - InStr(1, Zellbezug, "$", 1) + 1)
Else
strZelle = Mid(Zellbezug, InStr(1, Zellbezug, "$", 1), _
InStr(1, Zellbezug, ":", 1) - InStr(1, Zellbezug, "$", 1))
End If
Sheets(strTab).Range(strZelle) = "50 Euro"
End Sub

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige