Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Inhalt einer Zelle gleich Tabellenname

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Inhalt einer Zelle gleich Tabellenname (1025 mal gelesen)
moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


Sehen Sie sich das Profil von moppesle an!   Senden Sie eine Private Message an moppesle  Schreiben Sie einen Gästebucheintrag für moppesle

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 01. Aug. 2014 11:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Umbenennen_Tabellenname.xlsx.txt

 
Hallo,

benötige hilfe für die Verknüpfung von Zelleninhalten auf Tabelennamen mehrerer Tabellen.

Im Beispiel habe ich es hinbekommen den Inhalt der Zelle (A4)bei Änderung die Tabelle1 umbenennen zu lassen.
Leider scheitere ich an den andern Tabellenblättern.

Kann mich jemand unterstüzen?
Danke

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



Sehen Sie sich das Profil von Bernd P an!   Senden Sie eine Private Message an Bernd P  Schreiben Sie einen Gästebucheintrag für Bernd P

Beiträge: 3358
Registriert: 07.06.2001

erstellt am: 01. Aug. 2014 16:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für moppesle 10 Unities + Antwort hilfreich

Servus

mal ein Anfang A9 ist die Zelle auf die er jetzt reagiert

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) <> "A9" Then Exit Sub
    ActiveSheet.Calculate
Befehl
End Sub

------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark  Bernd P. Sport ist Mord
Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 01. Aug. 2014 19:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für moppesle 10 Unities + Antwort hilfreich

hmm, glaube nicht schön, aber geht 

aber eigentlich müsste ja vorher abgefragt werden wie der Tabellenname vorher lautete...
so wird hier gnadenlos nach dem Worksheets().Index umbenannt.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) <> "C1" Then Exit Sub
    ActiveSheet.Calculate

Dim DeineRange As Range
Dim DeinArray(100) As String
Set DeineRange = Range("A1:A100")

i = 0
For Each c In DeineRange
    If c <> "" Then
        DeinArray(i) = c
        i = i + 1
    End If
Next

For a = 1 To ThisWorkbook.Sheets.Count
    xx = Worksheets(a).Name
    Worksheets(a).Name = DeinArray(a - 1)
Next a

End Sub



Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 03. Aug. 2014 08:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für moppesle 10 Unities + Antwort hilfreich

Hi Uwe,

versuche es mal mit diesem Code im Codemodul von Tabelle1

Code:
Option Explicit
Dim wksTab As Worksheet

Private Sub Worksheet_Change(ByVal Target As Range)
  Select Case Target.Address(False, False)
      Case "A4", "A6", "A8"
        If IsError(Evaluate("'" & Target & "!A1")) Then
            wksTab.Name = Target
        End If
  End Select
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Select Case Target.Address(False, False)
      Case "A4", "A6", "A8"
        If IsError(Evaluate("'" & Target & "'!A1")) Then
        Else
            Set wksTab = Worksheets(Target.Value)
        End If
  End Select
End Sub


Es ist allerdings keine Prüfung vorhanden, dass der Tabellenname nur 30 Zeichen lang und einige Sonderzeichen im Tabellennamen nicht enthalten sein dürcfen.

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


Sehen Sie sich das Profil von moppesle an!   Senden Sie eine Private Message an moppesle  Schreiben Sie einen Gästebucheintrag für moppesle

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 04. Aug. 2014 07:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo ihr drei, 

danke für eure Mühe. Scheint so, das ich zu doof bin das ganze richtig umzusetzen.

Habe den jeweiligen Code in die Tabelle 1 kopiert.

@ Bernd P: Die Zelle habe ich angepasst. Leider meckert Excel an, das der Sub "Befehl" nicht da ist.
Was muss ich denn da noch reinschreiben?

@Thomas Harmening: bei deinem Code passiert gar nichts.

@Karin: bei deinem Code bekomme ich einen Laufzeitfehler bei "wksTab.Name = Target" .

Code:
Objektvariable oder With-Blockvariable nicht festgelegt
.


Könntet ihr vielleicht den Code in die Datei einbetten vielleicht verstehe ich es dann auch.

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 04. Aug. 2014 08:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für moppesle 10 Unities + Antwort hilfreich

bei mir reagiert der Code erst wenn das Ziel C1 sich ändert.

Code:
If Target.Address(0, 0) <> "C1" Then Exit Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


Sehen Sie sich das Profil von moppesle an!   Senden Sie eine Private Message an moppesle  Schreiben Sie einen Gästebucheintrag für moppesle

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 04. Aug. 2014 08:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Thomas,

es ist halt noch für am Montagmorgen. Hab dann noch nicht die Augen richtig auf.

Jetzt funktioniert das mit dem 1. Tabellenblatt.

Wie müsste das jetzt aussehen, wenn ich jetzt noch zwei weitere Tabellenblätter abfangen (umändern) möchte?

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 04. Aug. 2014 08:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für moppesle 10 Unities + Antwort hilfreich

Zitat:

@Karin: bei deinem Code bekomme ich einen Laufzeitfehler bei "wksTab.Name = Target" .
Code:
Objektvariable oder With-Blockvariable nicht festgelegt
.

Dann hast du offensichtlich die Variablendeklaration vergessen - also diese Codezeile:

Code:
Dim wksTab As Worksheet

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


Sehen Sie sich das Profil von moppesle an!   Senden Sie eine Private Message an moppesle  Schreiben Sie einen Gästebucheintrag für moppesle

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 04. Aug. 2014 10:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Karin,

hab die wohl beim kopieren nicht mit aufgezogen. 

Jetzt funktioniert es, aber bei Änderung von A4 wird Tabelle1 geändert. Soweit so gut

Bei Änderung von A6 wird auch Tabelle1 geändert. Sollte eigentlich Tabelle2 sein. 

Bei Änderung von A8 wird Tabelle3 geändert. Also so wie es sein soll.

Kannst du mir den Code ein wenig Aufschlüsseln? Ich verstehe gerade nicht wie die Verknüpfung auf die Tabellen hergestellt werden.

Nachtrag: Habe jetzt bemerkt, das nach keiner sinnvollen Reihenfolge die Tabellenblätter geändert werden.


------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!      

[Diese Nachricht wurde von moppesle am 04. Aug. 2014 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 04. Aug. 2014 11:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für moppesle 10 Unities + Antwort hilfreich

Hi Uwe,

der Code ändert schon in einer sinnvillen Reihenfolge - und zwar liest er beim Aktivieren der Zellen A4, A6 und A8 aus, was in der Zelle bereits steht (also den jeweiligen Tabellennamen). Bei Änderung des Zellinhaltes dann wird genau die Tabelle umbenannt, deren Name in der Zelle stand - so hatte ich deine Frage verstanden.

Anscheinend geht es jedoch darum, dass bei A4 immer nur Tabelle1, bei A6 Tabelle2 und bei A8 Tabelle3 umbenannt werden soll?
Ich gehe mal davon aus, dass Tabelle1, Tabelle2, Tabelle3 jeweils die Codenamen der betreffenden Tabellen sind - dann würde der Code wie folgt aussehen:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Select Case Target.Address(False, False)
      Case "A4"
        If IsError(Evaluate("'" & Target & "'!A1")) Then Tabelle1.Name = Target
      Case "A6"
        If IsError(Evaluate("'" & Target & "'!A1")) Then Tabelle2.Name = Target
      Case "A8"
        If IsError(Evaluate("'" & Target & "'!A1")) Then Tabelle3.Name = Target
  End Select
End Sub


------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


Sehen Sie sich das Profil von moppesle an!   Senden Sie eine Private Message an moppesle  Schreiben Sie einen Gästebucheintrag für moppesle

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 04. Aug. 2014 11:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Karin,

Zitat:
Anscheinend geht es jedoch darum, dass bei A4 immer nur Tabelle1, bei A6 Tabelle2 und bei A8 Tabelle3 umbenannt werden soll?

Ja genau so war es gemeint.

Jetzt funktioniert es auch.

Vielen Dank und Gruß

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


Sehen Sie sich das Profil von moppesle an!   Senden Sie eine Private Message an moppesle  Schreiben Sie einen Gästebucheintrag für moppesle

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 06. Aug. 2014 15:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo nochmal,

Ist es möglich die Abfrage nicht auf die Zelle sondern auf den Zellennamen zu machen.
Z.B: anstatt "A2" "Projektnummer"

Hab mal folgendes probiert, leider ohne Erfolg.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Select Case Target.Address(False, False)
    Case Range("Projektnummer")
        If IsError(Evaluate("'" & Target & "'!A1")) Then Tabelle1.Name = Target
    Case "A21"
        If IsError(Evaluate("'" & Target & "'!A1")) Then Tabelle2.Name = Target

End Sub


------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 07. Aug. 2014 17:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für moppesle 10 Unities + Antwort hilfreich

Hi Uwe,

da fehlt nur ein ganz kleiner Zusatz:

Code:
Case Range("Projektnummer").Address(False, False)

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Entwicklungsingenieur Filtration Consumables (x|w|m) - Hybrid

Company

Sartorius als börsennotiertes Unternehmen will Fortschritte in den Life Sciences und der biopharmazeutischen Industrie vereinfachen. Damit wissenschaftliche Erkenntnisse schneller und effizienter in neue Medikamente und Therapien überführt werden können und mehr Menschen Zugang zu besserer Medizin erhalten. Mit nahezu 16.000 Mitarbeiter und Mitarbeiterinnen an mehr als 60 Produktions- und Vertriebsstandorten weltweit arbeiten auf diese Vision hin....

Anzeige ansehenEntwicklung
moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


Sehen Sie sich das Profil von moppesle an!   Senden Sie eine Private Message an moppesle  Schreiben Sie einen Gästebucheintrag für moppesle

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 08. Aug. 2014 08:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin Karin,

nochmals Danke.

Hat funktioniert.  

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz