Registriert seit: 10.08.2016
Version(en): 2010
Hallo,
bin komme im Moment nicht voran. Und zwar habe ich eine Tabellenseite z.B. Tabelle 1
In dieser Tabelle 1 will ich in eine Zeile z.B. B3, B4, B5 je einen Namen eintragen z.B. Produktion, Kosten, Gewinn. Diese Name sollen nun automatisch den Reiter "Tabelle 2" in "Produktion" umbenennen. Tab 3 in Kosten Tab 4 in Gewinn
Danach sollen die Namen automatisch übernommen werden. Wenn ich in Zelle B3 den Namen von Produktion in Entwicklung ändere, so sollte auch der Tabellenname automatisch von Produktion in Entwicklung geändert werden.
Kann mir da jemand helfen? Umgekehrt ist ja natürlich einfacher, jedoch braue ich es so rum.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Moin! Zitat:In dieser Tabelle 1 will ich in eine Zeile z.B. B3, B4, B5 je einen Namen eintragen Das ist eine Spalte. :21: Geht nur mittels VBA. Nimm ein Worksheet_Change. Bedenke, dass es beim Tabellennamen Restriktionen gibt, die Du abfangen musst. Zitat:Umgekehrt ist ja natürlich einfacher, Jo mittels Verweis auf Zellen in den Sheets: =TEIL(ZELLE("Dateiname";A1);FINDEN("]";ZELLE("Dateiname";A1))+1;31)Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 10.08.2016
Version(en): 2010
23.08.2016, 11:02
(Dieser Beitrag wurde zuletzt bearbeitet: 23.08.2016, 14:22 von Rabe.
Bearbeitungsgrund: Code ohne Format in Code-Tags
)
Moin, so hatte ein wenig Urlaub und komme nun auf das Problem zurück. Erstmals danke für den Tipp! Habe nun folgendes Probiert: Code: Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Address = "$A$1" Then Name = Range("A1") End If End Sub
Das funktioniert auch super. Jedoch müsste ich aus der Zelle A2 und A3 usw. weitere Tabellennamen erstellen. Ein weiterer Tipp? Die Namen in den Tabellen stehen IMMER in der ersten Tabelle.
Registriert seit: 10.04.2014
Version(en): 2016 + 365
23.08.2016, 14:38
(Dieser Beitrag wurde zuletzt bearbeitet: 23.08.2016, 14:38 von Rabe.
Bearbeitungsgrund: diverse Fehler korrigiert
)
(23.08.2016, 11:02)Wow4ik schrieb: Das funktioniert auch super. Jedoch müsste ich aus der Zelle A2 und A3 usw. weitere Tabellennamen erstellen. Ein weiterer Tipp? Die Namen in den Tabellen stehen IMMER in der ersten Tabelle. Es gibt die Funktion "With Worksheet()". Wenn Du da eine Schleife drumrum setzt, geht es: Code: Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Integer For i = 1 To Worksheets.Count With Sheets("Tabelle" & i) If Target.Address = "$A$1" Then .Name = Range("A" & i) End If End With Next i End Sub
Evtl. sollte der Bereich der Target-Adresse noch auf den gesamten belegten Namensbereich ausgeweitet werden.
Registriert seit: 10.08.2016
Version(en): 2010
Bekomme da leider eine Fehlermeldung vom Compiler: Fehler beim Kompilieren: Deklaration der Prozedur entspricht nicht der Beschreibung eines Ergebnisses oder einer Prozedur mit demselben Namen
??? Sorry, bin VBA-Neuling
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
Hi, Code: Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) 'bin komme im Moment nicht voran. 'Und zwar habe ich eine Tabellenseite z.B. Tabelle 1 ' 'In dieser Tabelle 1 will ich in eine Zeile z.B. B3, B4, B5 je einen Namen eintragen z.B. Produktion, Kosten, Gewinn. 'Diese Name sollen nun automatisch den Reiter "Tabelle 2" in "Produktion" umbenennen. 'Tab 3 in Kosten 'Tab 4 in Gewinn ' 'Danach sollen die Namen automatisch übernommen werden. Wenn ich in Zelle B3 den Namen von Produktion in Entwicklung ändere, 'so sollte auch der Tabellenname automatisch von Produktion in Entwicklung geändert werden. Dim rng_R As Range Set rng_R = Range("B3:B5") If Not Intersect(Target, rng_R) Is Nothing Then For Each Target In Intersect(Target, rng_R) On Error Resume Next Sheets(Target.Row - 1).Name = Target If Err.Number <> 0 Then MsgBox Target.Value & " ist kein gültiger Name oder Blatt ist schon vorhanden" Err.Number = 0 Next End If End Sub
Tabellen_benennen.xlsm (Größe: 19,02 KB / Downloads: 29)
lg Chris Feedback nicht vergessen. 3a2920576572206973742064656e20646120736f206e65756769657269672e
Registriert seit: 10.08.2016
Version(en): 2010
Vielen Dank!!!
Es geht schon in die richtige Richtung. Wenn ich in B3 etwas eingebe benennt er Tabelle 2 in diesen Text um(sollte jedoch bereits ab Tabelle 1 beginnen und nicht erst bei Tabelle 2, Wert von B4 wird in Tabelle 3 übernommen. Wenn ich jedoch etwas in B5 schreibe kommt die Fehlermeldung mit der MsgBox :
If Err.Number <> 0 Then MsgBox Target.Value & " ist kein gültiger Name oder Blatt ist schon vorhanden"
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
23.08.2016, 15:45
(Dieser Beitrag wurde zuletzt bearbeitet: 23.08.2016, 15:45 von chris-ka.)
Hi, entspricht aber jetzt nicht deiner ersten Angabe :) Zitat:'In dieser Tabelle 1 will ich in eine Zeile z.B. B3, B4, B5 je einen Namen eintragen z.B. Produktion, Kosten, Gewinn.
'Diese Name sollen nun automatisch den Reiter "Tabelle 2" in "Produktion" umbenennen. dann halt -2 ;) Code: Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim rng_R As Range, str_Mes As String Set rng_R = Range("B3:B5") If Not Intersect(Target, rng_R) Is Nothing Then For Each Target In Intersect(Target, rng_R) On Error Resume Next Sheets(Target.Row - 2).Name = Target If Err.Number <> 0 Then str_Mes = IIf(Target.Value = "", "'Zelle hat keine Bezeichnung'", Target.Value) MsgBox "Tabelle" & Target.Row - 2 & " " & str_Mes & " ist kein gültiger Name oder Blatt ist schon vorhanden" GoTo errExit End If Next End If errExit: End Sub
lg Chris Feedback nicht vergessen. 3a2920576572206973742064656e20646120736f206e65756769657269672e
Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:1 Nutzer sagt Danke an chris-ka für diesen Beitrag 28
• Wow4ik
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi, (23.08.2016, 14:45)Wow4ik schrieb: Bekomme da leider eine Fehlermeldung vom Compiler: Fehler beim Kompilieren: Deklaration der Prozedur entspricht nicht der Beschreibung eines Ergebnisses oder einer Prozedur mit demselben Namen ich hatte gestern das Makro nochmal geändert und die Fehler eliminiert. Wenn der Fehler immer noch auftritt, dann hast Du schon ein Worksheet_Change-Ereignis in Deinem File.
Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:1 Nutzer sagt Danke an Rabe für diesen Beitrag 28
• Wow4ik
Registriert seit: 10.08.2016
Version(en): 2010
Hey,
danke erst einmal. Es funktioniert bedingt. Sicher funktioniert es super, nur bei mir nicht so ganz wie ich es will.
Die Zellen sind in der Tabelle "Info" abgelegt, diese ist als Tabelle 18 gekennzeichnet(wurde hin und her verschoben). Es betrifft die Zellen F20-F35. Wenn ich mir den Code hinzüfüge, in Tabelle 18 --> Tabelle "Info" und den Code abändere in F20-F35 statt B3-B5(wobei F25 keine Daten beinhaltet), so übernimmt er mir die Daten auch automatisch, jedoch nur für die 1 und 2 Zelle, bei den restlichen bekomme ich den Fehlercode:
ist kein gültiger Name oder Blatt ist schon vorhanden
Kann es damit zusammenhängen, das die Tabellen nicht in Reihe sind. Als erstes kommt z.B. Tabelle 18, dann 2, 6,9,22 usw??? Kann ich diese nachträglich umbennen?
Ach ja korrigiere meine Aussage. Die Infos sollen doch auch der erste Tabelle(18) entnommen werden, jedoch erst in die 2. überschrieben werden.
|