Discussion:
Drop Down Menü bei Zellenauswahl automatisch öffnen
(zu alt für eine Antwort)
herztreu
2015-01-14 08:46:34 UTC
Permalink
Hallo alle zusammen,
suche schon seit zwei Tagen nach einer Lösung für mein Problem. Vielleicht kann man mir hier helfen.
Habe in einem Excel-Tabellenblatt in vielen Zellen ein Drop Down Menü mit einer Auswahlliste von Zahlen. Um zur Auswahl zu gelangen, klicke ich auf die jeweilige Zelle, dann auf den Pfeil und anschliessend auf die entsprechende Ziffer. Würde es gerne so haben, dass sich das Drop Down Menü schon öffnet, sobald ich die Zelle anklicke. Das sollte dann für alle Zellen mit hinterlegtem Drop Down Menü der gesamten Tabelle funktionieren. Lässt sich da mit VBA etwas machen. Habe leider keine Ahnung im Umgang mit VBA. Eine genaue Beschreibung wäre deshalb sehr hilfreich für mich.
Herzlichen Dank schon einmal im Voraus.
Claus Busch
2015-01-14 09:14:41 UTC
Permalink
Hallo,
Post by herztreu
Habe in einem Excel-Tabellenblatt in vielen Zellen ein Drop Down Menü mit einer Auswahlliste von Zahlen. Um zur Auswahl zu gelangen, klicke ich auf die jeweilige Zelle, dann auf den Pfeil und anschliessend auf die entsprechende Ziffer. Würde es gerne so haben, dass sich das Drop Down Menü schon öffnet, sobald ich die Zelle anklicke. Das sollte dann für alle Zellen mit hinterlegtem Drop Down Menü der gesamten Tabelle funktionieren. Lässt sich da mit VBA etwas machen. Habe leider keine Ahnung im Umgang mit VBA. Eine genaue Beschreibung wäre deshalb sehr hilfreich für mich.
eigentlich gibt es keine richtige Möglichkeit. Du könntest aber den
Shortcut Alt+NachUnten per VBA nachbilden.
Da das geschehen soll, wenn du die Zelle auswählst, müsste der Code in
das Codemodul des Tabellenblattes unter Worksheet_SelectionChange
Für die Zelle D1 würde das dann so gehen:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$D$1" Then SendKeys "%{Down}"
End Sub

Klick rechts auf den entsprechenden Tabellenreiter und wähle Code
anzeigen und füge obigen Code dort ein.
Ich selbst halte nichts von SendKeys, aber in deinem Fall sehe ich keine
andere Möglichkeit.


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
j***@googlemail.com
2015-01-14 15:24:25 UTC
Permalink
Hallo Claus,

Vielen Dank für die schnelle Antwort, habe sie leider jetzt erst gesehen.
Ein Anfang ist damit gemacht. Funktioniert auch prima! Die Anleitung war ja auch perfekt. Nun habe ich aber in meiner Tabelle 5 größere Bereiche mit zahlreichen Zellen mit Drop Down Menü. Gibt es da eine Möglichkeit dies nicht nur auf einzelne Zellen sondern auf größere Bereiche auszudehnen?
Ich würde mich wirklich sehr über weitere Hilfe freuen.

Mit freundlichen Grüßen
Jens
Claus Busch
2015-01-14 15:27:52 UTC
Permalink
Hallo Jens,

Am Wed, 14 Jan 2015 07:24:25 -0800 (PST) schrieb
Post by j***@googlemail.com
Ein Anfang ist damit gemacht. Funktioniert auch prima! Die Anleitung war ja auch perfekt. Nun habe ich aber in meiner Tabelle 5 größere Bereiche mit zahlreichen Zellen mit Drop Down Menü. Gibt es da eine Möglichkeit dies nicht nur auf einzelne Zellen sondern auf größere Bereiche auszudehnen?
die gibt es mit Intersect. Am besten du schreibst hier mal deine
Bereiche und ich schreibe dir dann die Codezeile.


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
j***@googlemail.com
2015-01-14 15:42:56 UTC
Permalink
Hallo Claus,
Vielen Dank für Dein Angebot. Du würdest mir damit sehr weiterhelfen. Hier die Bereiche um die es mir geht:


1. Bereich:"L11:BI62"
2. Bereich:"L73:BW124"
3. Bereich:"L135:CE186"
4. Bereich: "L196:AX247"
5. Bereich: "L257:BE308"
6. Bereich: "L322: BS369"

Ich hoffe, es lässt sich trotz des Umfangs machen. Sage Dir schon einmal ganz herzlichen Dank für Deine Bemühungen´

Gruß
Jens
Claus Busch
2015-01-14 15:52:13 UTC
Permalink
Hallo Jens,

Am Wed, 14 Jan 2015 07:42:56 -0800 (PST) schrieb
Post by j***@googlemail.com
1. Bereich:"L11:BI62"
2. Bereich:"L73:BW124"
3. Bereich:"L135:CE186"
4. Bereich: "L196:AX247"
5. Bereich: "L257:BE308"
6. Bereich: "L322: BS369"
dann probiere es so:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("L11:BI62,L73:BW124,L135:CE186," _
& "L194:AX247,L257:BE308,L322:BS369")) Is Nothing Or _
Target.Count > 1 Then Exit Sub

SendKeys "%{Down}"
End Sub


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
j***@googlemail.com
2015-01-14 16:26:19 UTC
Permalink
Hallo Claus,
Das ist die totale Erleichterung. Genau so habe ich es mir gewünscht. Tausend Dank dafür und dann noch so schnell. Ich kann's noch gar nicht fassen.

Ich möchte jetzt auch nicht unverschämt sein und mit noch einer zweiten Frage kommen. Kann deshalb gut verstehen, wenn es darauf für mich keine Antwort gibt.
Ich schildere kurz mein 2. Problem auf das ich heute auch schon den ganzen Tag keine befriedigende Antwort im Internet finden konnte. Also:

Es geht um die gleichen Zellbereiche. Die dort eingetragenen Zahlen möchte ich, um sie von Neueintragungen zu unterscheiden, nach Bedarf von schwarzer Schriftfarbe auf rote Schrift umformatieren ohne sie jedes Mal einzeln markieren zu müssen und dann formatieren. Es darf sich auch nur für die ausgefüllten Zellen etwas ändern in der Schriftfarbe. Bei den noch leeren Zellen muss die voreingestellte schwarze Schriftfarbe bestehen bleiben.
Möchte also nur auf ein Rechteck klicken, das mit einem entsprechenden Makro verbunden ist. Bin aber leider und das bedaure ich sehr, nicht in der Lage mir so etwas selbst zu schreiben.
Wie gesagt, freuen würde ich mich sehr, wenn ich Hilfe bekäme, aber ich möchte auch nicht nerven. Du hast mir so schon sehr geholfen und dafür noch einmal DANKE!

Liebe Grüße
Jens
Claus Busch
2015-01-14 17:03:06 UTC
Permalink
Hallo Jens,

Am Wed, 14 Jan 2015 08:26:19 -0800 (PST) schrieb
Post by j***@googlemail.com
Es geht um die gleichen Zellbereiche. Die dort eingetragenen Zahlen möchte ich, um sie von Neueintragungen zu unterscheiden, nach Bedarf von schwarzer Schriftfarbe auf rote Schrift umformatieren ohne sie jedes Mal einzeln markieren zu müssen und dann formatieren. Es darf sich auch nur für die ausgefüllten Zellen etwas ändern in der Schriftfarbe. Bei den noch leeren Zellen muss die voreingestellte schwarze Schriftfarbe bestehen bleiben.
Möchte also nur auf ein Rechteck klicken, das mit einem entsprechenden Makro verbunden ist. Bin aber leider und das bedaure ich sehr, nicht in der Lage mir so etwas selbst zu schreiben.
drücke Alt+F11 => Einfügen => Modul und füge dann beide Prozeduren dort
ein. Du kannst diesen Prozeduren Shortcuts zuweisen zum Starten oder du
fügst dir Button ein und weist ihnen die Prozeduren zu:

Sub EinFaerben()
Dim myRng As Range, rngC As Range

With ActiveSheet
Set myRng = .Range("L11:BI62,L73:BW124,L135:CE186," _
& "L194:AX247,L257:BE308,L322:BS369")

For Each rngC In myRng
rngC.Font.Color = IIf(Len(rngC) > 0, vbRed, xlAutomatic)
Next
End With
End Sub

Sub Entfaerben()
Dim myRng As Range

With ActiveSheet
Set myRng = .Range("L11:BI62,L73:BW124,L135:CE186," _
& "L194:AX247,L257:BE308,L322:BS369")
myRng.Font.Color = vbBlack
End With
End Sub


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
j***@googlemail.com
2015-01-14 18:53:39 UTC
Permalink
Hallo Claus,
Da habe ich mich jetzt aber sehr gefreut, dass Du Dir so viel Arbeit wegen meiner Probleme machst. Vielen, vielen herzlichen Dank.
Habe alles gleich in meine Tabelle integriert. Läuft soweit auch alles prima mit zwei für mich unerklärlichen Dingen. Im 4. und 5. Tabellenbereich bleiben einige Zahlen schwarz, verfärben sich also nicht und nach der Umformatierung erscheinen neue Zahleneingaben in bisher leeren Zellen ganz blass in grau. Nach erneutem Druck auf den Button erscheinen sie wie gewollt rot. Lässt sich hier noch etwas machen?
Wünsche Dir noch einen angenehmen Abend und wäre sehr froh, falls Du Dich in den nächsten Tagen noch einmal meines Problems annehmen könntest.

Liebe Grüße
Jens
Claus Busch
2015-01-14 19:04:53 UTC
Permalink
Hallo Jens,

Am Wed, 14 Jan 2015 10:53:39 -0800 (PST) schrieb
Post by j***@googlemail.com
Habe alles gleich in meine Tabelle integriert. Läuft soweit auch alles prima mit zwei für mich unerklärlichen Dingen. Im 4. und 5. Tabellenbereich bleiben einige Zahlen schwarz, verfärben sich also nicht und nach der Umformatierung erscheinen neue Zahleneingaben in bisher leeren Zellen ganz blass in grau. Nach erneutem Druck auf den Button erscheinen sie wie gewollt rot. Lässt sich hier noch etwas machen?
ändere mal das Makro einfärben so um:

Sub EinFaerben()
Dim myRng As Range, rngC As Range

With ActiveSheet
Set myRng = .Range("L11:BI62,L73:BW124,L135:CE186," _
& "L194:AX247,L257:BE308,L322:BS369")

For Each rngC In myRng
rngC.Font.Color = IIf(Len(rngC) > 0, vbRed, vbBlack)
Next
End With
End Sub

Falls es dann auch nicht funktionieren sollte, kontrolliere einmal, ob
im ganzen Bereiche die Schriftfarbe auf Automatisch steht.
Sollte es dann imemr noch nicht laufen, kann ich dir ohne die Tabelle zu
sehen nicht weiterhelfen.


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
j***@googlemail.com
2015-01-14 19:25:16 UTC
Permalink
Hallo Claus,
Du bist SPITZE!!! Alles jetzt bestens in jeder Hinsicht! Wenn ich daran denke, dass ich zwei Tage vergeblich das Internet durchforstet habe und mich die letzten Stunden so vorangebracht haben durch Deine großartige Unterstützung, bin ich total begeistert. Toll, dass es Menschen wie Dich gibt.
Auch wenn ich es schon einige Male geschrieben habe, Danke!

Wünsche Dir weiterhin alles Gute.
Viele Grüße
Jens
Claus Busch
2015-01-14 19:37:51 UTC
Permalink
Hallo Jens,

Am Wed, 14 Jan 2015 11:25:16 -0800 (PST) schrieb
Post by j***@googlemail.com
Alles jetzt bestens in jeder Hinsicht!
Immer wieder gerne. Freut mich, wenn ich helfen konnte.


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
j***@googlemail.com
2015-01-14 20:08:38 UTC
Permalink
Hallo Claus,
Du hast mir wirklich sehr geholfen. Ohne Dich, das ist gewiss, wäre ich immer noch keinen Schritt weiter. Schön, dass ich Deine Hilfe in Anspruch nehmen konnte. Vielleicht dann bis demnächst, denn Probleme kommen ja bekanntlich schneller als gedacht. Aber erst einmal genieße ich es erst einmal, dass es so gut funktioniert.

Liebe Grüße
Jens
j***@googlemail.com
2015-01-18 18:57:18 UTC
Permalink
Guten Abend Claus,
nun ist eigentlich meine erste Seite meiner Exceltabelle Dank Deiner Unterstützung fast fertig und trotzdem wartet noch ein großes Problem. Möchte es kurz beschreiben:
Brauche meine Tabelle noch neunmal als Kopie, was ja eigentlich auch kein Problem darstellt. Da ich aber innerhalb meiner ersten Tabelle, die ja als Vorlage dienen soll, eine ganze Menge an Hyperlinks eingesetzt habe, die sich alle auf Zellen des gleichen Tabellenblattes beziehen, liegt hier doch ein für mich unlösbares Problem. Kopiere ich nun das Tabellenblatt, dann komme ich beim Betätigen eines jeden Hyperlinks innerhalb meiner Kopie immer wieder zum Originalblatt. Habe im Internet nun nach einem Makro Ausschau gehalten, das die Umstellung eines jeden Makros unnötig macht. Hatte auch geglaubt, fündig geworden zu sein, aber irgendwie funktioniert das Ganze nicht. Habe, wie neulich schon geschrieben, einfach keine wirkliche Ahnung von Makros. Ich schreibe Dir hier das Makro einmal auf, vielleicht kannst Du, wenn es Deine Zeit einmal erlaubt, einmal einen Blick darauf werfen und eventuell den Code lauffähig machen. Das wäre ganz toll. Oder es gibt einen ganz anderen Weg, den ich nicht kenne. Eine Lösung würde mir ziemlich viel Zeit ersparen.

Sub hyperhyper()
Dim HypLink As Hyperlink
Dim strNeueURL As String
alt = ("Entwicklung!") 'anpassen
neu = ("Stand!") 'anpassen

For Each HypLink In ActiveSheet.Hyperlinks
strNeueURL = Replace(HypLink.Address, alt, neu)
HypLink.Address = strNeueURL
HypLink.TextToDisplay = HypLink.TextToDisplay 'alternativ strNeueURL
Next
End Sub

Meine Ausgangstabelle heißt "Entwicklung" und meine davon kopierte Tabelle "Stand".
Dir noch einen schönen Sonntagabend.
Jens
Claus Busch
2015-01-18 19:10:07 UTC
Permalink
Hallo Jens,

Am Sun, 18 Jan 2015 10:57:18 -0800 (PST) schrieb
Post by j***@googlemail.com
Meine Ausgangstabelle heißt "Entwicklung" und meine davon kopierte Tabelle "Stand".
der Hyperlink zu einer anderen Tabelle in der gleichen Mappe hat keine
Adresse sondern nur eine Subadresse. Probiere es mal so:

Sub hyperhyper()
Dim alt As String, neu As String
Dim HypLink As Hyperlink

alt = ("Entwicklung!") 'anpassen
neu = ("Stand!") 'anpassen

For Each HypLink In ActiveSheet.Hyperlinks
HypLink.SubAddress = Replace(HypLink.SubAddress, alt, neu)
HypLink.TextToDisplay = HypLink.SubAddress
Next
End Sub


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
j***@googlemail.com
2015-01-18 19:38:06 UTC
Permalink
Hallo Claus,
Das ist ja sehr nett von Dir, dass Du Dich heute noch mit meinem Anliegen beschäftigt hast. Leider klappt es bei mir immer noch nicht. Vielleicht mache ich ja auch etwas falsch. Einfügen des Makros: recht Maustaste auf Tabelle "Stand", Code anzeigen und dann eingefügt. Oder muss ich einen anderen Weg gehen?

Liebe Grüße
Jens
Claus Busch
2015-01-18 19:43:47 UTC
Permalink
Hallo Jens,

Am Sun, 18 Jan 2015 11:38:06 -0800 (PST) schrieb
Post by j***@googlemail.com
Das ist ja sehr nett von Dir, dass Du Dich heute noch mit meinem Anliegen beschäftigt hast. Leider klappt es bei mir immer noch nicht. Vielleicht mache ich ja auch etwas falsch. Einfügen des Makros: recht Maustaste auf Tabelle "Stand", Code anzeigen und dann eingefügt. Oder muss ich einen anderen Weg gehen?
in das Codemodul des Blattes sollten eigentlich nur
Tabellenblatt-Ereignisse. Drücke Alt+F11, gehe auf Einfügen => Modul und
füge dort den Code ein. Rufe dann das Makro über Entwicklertools =>
Makros auf. Das entsprechende Blatt mit den falschen Hyperlinks muss
dazu aktiviert sein.
Falls das nicht funktioniert, beschreibe mal bitte, was genau du machen
willst oder stelle mir die Mappe zur Verfügung mit Erklärungen darin.


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
j***@googlemail.com
2015-01-18 20:10:58 UTC
Permalink
Hallo Claus,
Bin den von Dir beschriebenen Weg gegangen, habe dabei das Makro ausgewählt und auf Ausführen gegangen. Jetzt blieb ich beim Klicken auf die Hyperlinks in diesem Tabellenblatt . Soweit hat es nun also funktioniert. Nur ist der Text der Hyperlinks jetzt verschwunden und durch den Tabellennamen mit Zelladresse ersetzt bei allen Hyperlinks. Wer weiß, was ich jetzt wieder gemacht habe.
Was kann ich jetzt machen, dass die eigentlichen Namen wieder zu sehen sind und die Hyperlinks trotzdem weiter so funktionieren. Oh ich glaube, meine Unwissenheit nervt sicher. Na, ich schicke Dir trotzdem diese Zeilen, da ich allein nicht weiterkomme mit
Lieben Grüßen
Jens
Claus Busch
2015-01-18 20:13:19 UTC
Permalink
Hallo Jens,

Am Sun, 18 Jan 2015 12:10:58 -0800 (PST) schrieb
Post by j***@googlemail.com
Bin den von Dir beschriebenen Weg gegangen, habe dabei das Makro ausgewählt und auf Ausführen gegangen. Jetzt blieb ich beim Klicken auf die Hyperlinks in diesem Tabellenblatt . Soweit hat es nun also funktioniert. Nur ist der Text der Hyperlinks jetzt verschwunden und durch den Tabellennamen mit Zelladresse ersetzt bei allen Hyperlinks. Wer weiß, was ich jetzt wieder gemacht habe.
Was kann ich jetzt machen, dass die eigentlichen Namen wieder zu sehen sind und die Hyperlinks trotzdem weiter so funktionieren.
was willst du denn als Text in den Zellen sehen?


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
Claus Busch
2015-01-18 20:16:42 UTC
Permalink
hallo Jens,
Post by Claus Busch
was willst du denn als Text in den Zellen sehen?
wenn du das erhalten willst, was in den Zellen steht, lass TextToDisplay
einfach weg:

Sub hyperhyper()
Dim alt As String, neu As String
Dim HypLink As Hyperlink

alt = ("Entwicklung!") 'anpassen
neu = ("Stand!") 'anpassen

For Each HypLink In ActiveSheet.Hyperlinks
HypLink.SubAddress = Replace(HypLink.SubAddress, alt, neu)
Next
End Sub


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
j***@googlemail.com
2015-01-18 20:38:30 UTC
Permalink
Hallo Claus,
War gerade dabei Dir auf Deine vorletzte Nachricht zu antworten, da erhielt ich Deine letzten Zeilen. Habe Deinen neu geschriebenen Code sogleich eingefügt und es klappt!!! Würden wir um die Ecke wohnen, hätte ich Dich zu einem Bier eingeladen. Bin zwar kein Bierfreund, aber ich freue mich jetzt so, dass es nun so toll klappt. Das ist (Sprung in die Luft) KLASSE. Also habe vielmals Dank, dass Du wieder einmal Retter in der Not für mich warst und dann noch so spontan und am Sonntagabend. Also nochmals lieben Dank für alles.

Dir noch einen schönen restlichen Sonntagabend
Jens
Claus Busch
2015-01-18 20:42:58 UTC
Permalink
Hallo Jens,

Am Sun, 18 Jan 2015 12:38:30 -0800 (PST) schrieb
Post by j***@googlemail.com
Habe Deinen neu geschriebenen Code sogleich eingefügt und es klappt!!
schau dir auch meine letzte Antwort an, damit geht alles in einem
Rutsch.
Falls du neue Fragen hast, stelle die bitte in einem neuen Thread, damit
die Mitleser eventuelle gleiche Fragen schneller finden.


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
j***@googlemail.com
2015-01-18 20:59:15 UTC
Permalink
Hallo Claus,
Also, ich bin sprachlos. Du machst Dir so viel Arbeit wegen mir!!! Werde es morgen gleich einsetzen. Aber jetzt schon einmal ein herzliches Dankeschön für Deine große Mühe und die so erfolgreichen Hilfen, die ich hier von Dir bekommen habe. Hätte meine Vorstellungen mit eigenem Wissen allein nicht umsetzen können. Was bin ich froh, dass es innerhalb der Internetgemeinde Menschen wie Dich gibt.
Auch noch einmal Danke für das Angebot mich mit neuen Problemen zu melden. Muss dann nur erst einmal sehen, wie ich einen neuen Thread hier eröffnen kann. Hatte bisher mit solchen Foren keine Erfahrung. Aber das wird sicher rauszukriegen sein.

Nochmals liebe Grüße
Jens
Claus Busch
2015-01-18 20:40:42 UTC
Permalink
Hallo Jens,

Am Sun, 18 Jan 2015 21:16:42 +0100 schrieb Claus Busch:

wenn deine Hyperlinks auf das eigene Blatt verweisen und du Blatt1 immer
kopierst, dann probiere es doch so für die Blätter2 bis n:

Sub HypAendern()
Dim i As Long
Dim Hyp As Hyperlink

For i = 2 To Sheets.Count
With Sheets(i)
For Each Hyp In .Hyperlinks
Hyp.SubAddress = Replace(Hyp.SubAddress, Sheets(1).Name, _
Sheets(i).Name)
Next
End With
Next
End Sub

Damit wird in allen Blättern der Bezug zu Blatt1 gegen der des eigenen
Blattes ersetzt. Der Zellinhalt wird dabei nicht verändert.


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
Claus Busch
2015-01-18 20:47:08 UTC
Permalink
Hallo Jens,
Post by Claus Busch
Hyp.SubAddress = Replace(Hyp.SubAddress, Sheets(1).Name, _
Sheets(i).Name)
und falls du immer das letzte Blatt kopierst, ändere die Zeile oberhalb
auf:
Hyp.SubAddress = Replace(Hyp.SubAddress, Sheets(i-1).Name, _
Sheets(i).Name)


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
j***@googlemail.com
2015-01-19 06:02:41 UTC
Permalink
Post by Claus Busch
Hallo Jens,
wenn deine Hyperlinks auf das eigene Blatt verweisen und du Blatt1 immer
Sub HypAendern()
Dim i As Long
Dim Hyp As Hyperlink
For i = 2 To Sheets.Count
With Sheets(i)
For Each Hyp In .Hyperlinks
Hyp.SubAddress = Replace(Hyp.SubAddress, Sheets(1).Name, _
Sheets(i).Name)
Next
End With
Next
End Sub
Damit wird in allen Blättern der Bezug zu Blatt1 gegen der des eigenen
Blattes ersetzt. Der Zellinhalt wird dabei nicht verändert.
Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
Guten Morgen Claus,
Habe eben den in Deiner vorletzten Nachricht geschickten Code in meiner Tabelle eingesetzt. Bin beim Einfügen den gleichen Weg gegangen, den Du mir beschrieben hast. Habe Deinen Code 1 zu 1 übernommen. Leider hat sich hier kein Erfolg eingestellt. Die Hyperlinks springen immer wieder zurück zur Ausgangstabelle.
Wahrscheinlich bin ich selbst wieder das Problem, weiß nur nicht, wo der Fehler liegt. Aber zumindest funktioniert das vorhergehende Makro ja bestens und das allein ist schon Gold wert. Möchte es nicht mehr missen, so sehr erleichtert es die weitere Arbeit!

Liebe Grüße
Jens
Claus Busch
2015-01-19 06:29:48 UTC
Permalink
Hallo Jens,

Am Sun, 18 Jan 2015 22:02:41 -0800 (PST) schrieb
Post by j***@googlemail.com
Habe eben den in Deiner vorletzten Nachricht geschickten Code in meiner Tabelle eingesetzt. Bin beim Einfügen den gleichen Weg gegangen, den Du mir beschrieben hast. Habe Deinen Code 1 zu 1 übernommen. Leider hat sich hier kein Erfolg eingestellt. Die Hyperlinks springen immer wieder zurück zur Ausgangstabelle.
Wahrscheinlich bin ich selbst wieder das Problem, weiß nur nicht, wo der Fehler liegt. Aber zumindest funktioniert das vorhergehende Makro ja bestens und das allein ist schon Gold wert. Möchte es nicht mehr missen, so sehr erleichtert es die weitere Arbeit!
wenn immer wieder zu Blatt 1 gesprungen wird, musst du die Version 1
nehmen:
Hyp.SubAddress = Replace(Hyp.SubAddress, Sheets(1).Name, _
Sheets(i).Name)


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
j***@googlemail.com
2015-01-19 08:06:36 UTC
Permalink
Hallo Claus,
Leider führt das bei mir nicht zum Erfolg. Springt immer wieder zu Tabellenblatt 1 zurück. Mit dem letzten Makro wäre das Kopieren der Tabellenblätter zwar noch einfacher geworden, aber es soll wohl nicht sein.
Dir aber nochmals ein herzliches Dankeschön für die tolle Unterstützung.

Gruß
Jens
Claus Busch
2015-01-19 08:09:44 UTC
Permalink
Hallo Jens,

Am Mon, 19 Jan 2015 00:06:36 -0800 (PST) schrieb
Post by j***@googlemail.com
Leider führt das bei mir nicht zum Erfolg. Springt immer wieder zu Tabellenblatt 1 zurück. Mit dem letzten Makro wäre das Kopieren der Tabellenblätter zwar noch einfacher geworden, aber es soll wohl nicht sein.
du musst die kopierten Blätter auch entsprechend umbennen. Wenn ich
etwas hier schreibe ist es getestet und funktioniert auch.


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
Claus Busch
2015-01-19 08:18:06 UTC
Permalink
Hallo Jens,

Am Mon, 19 Jan 2015 00:06:36 -0800 (PST) schrieb
Post by j***@googlemail.com
Leider führt das bei mir nicht zum Erfolg. Springt immer wieder zu Tabellenblatt 1 zurück. Mit dem letzten Makro wäre das Kopieren der Tabellenblätter zwar noch einfacher geworden, aber es soll wohl nicht sein.
oder dein kopiertes Blatt ist nicht das erste Blatt in der Mappe. Wenn
du mit dem Blattindex arbeitest, ist dieser Index in der Reihenfolge wie
die Blätter in der Mappe angeordnet sind.
Schau mal hier:
https://onedrive.live.com/?cid=9378AAB6121822A3&id=9378AAB6121822A3%21326#cid=9378AAB6121822A3&id=9378AAB6121822A3%21326
nach "Hyperlinks"
Alle Hyperlinks verweisen auf Blatt1. Wenn das Makro gelaufen ist,
verweisen die Hyperlinks auf das eigene Blatt.




Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
j***@googlemail.com
2015-01-19 08:59:27 UTC
Permalink
Hallo Claus,
Wie recht Du wieder einmal hattest. Die Anordnung der Tabellenblätter war tatsächlich eine andere. Habe jetzt meine Ausgangstabelle an die erste Stelle gesetzt und eine Kopie erstellt, die der ersten Tabelle folgt. Wenn ich jetzt das Makro der Kopie zuweisen kommt die Fehlermeldung: "Der Bezug ist ungültig".
Woran kann das jetzt noch liegen?

Gruß
Jens
Claus Busch
2015-01-19 09:08:38 UTC
Permalink
Hallo Jens,

Am Mon, 19 Jan 2015 00:59:27 -0800 (PST) schrieb
Post by j***@googlemail.com
Wie recht Du wieder einmal hattest. Die Anordnung der Tabellenblätter war tatsächlich eine andere. Habe jetzt meine Ausgangstabelle an die erste Stelle gesetzt und eine Kopie erstellt, die der ersten Tabelle folgt. Wenn ich jetzt das Makro der Kopie zuweisen kommt die Fehlermeldung: "Der Bezug ist ungültig".
Woran kann das jetzt noch liegen?
wenn du die Anordung änderst, musst du auch den Zähler i ändern.
i geht im Code vom 2. Tabellenblatt bis zum letzten.
Wie sind deine Blätter benamt? Hast du eventuell Leerzeichen oder
Sonderzeichen im Blattnamen? Dann muss der Blattname in Hochkommata
gesetzt werden. Ändere dann die Codezeile so ab:
hyp.SubAddress = Replace(hyp.SubAddress, Sheets(1).Name, _
"'" & Sheets(i).Name & "'")


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
j***@googlemail.com
2015-01-19 09:32:47 UTC
Permalink
Hallo Claus,
Genau das von Dir zuletzt Beschriebene wars. Ja, es sind die Feinheiten, die über so manches entscheiden. Habe nun doch noch so einiges dazugelernt, Dank Deiner Ausdauer und Geduld! Dabei ist unsere Zeit so schnelllebig. Immer wenig Zeit für alles. Schön, dass das hier nicht gilt. Mir hat Deine Hilfe viel gebracht und vielleicht nutzt das hier Geschriebene auch anderen.

Lieben Dank
Jens

Lesen Sie weiter auf narkive:
Loading...