X solu=välilehden nimi

Sweit

Moro

Miten saa solun määriteltyä siten että kun siihen kirjoittaa niin solun sisältö on yhtäkuin kyseisen välilehden nimi (jossa solu sijaitsee)?

Koulussa joskus tälläinen asia muistaakseni oli mutta 3 vuoden jälkeen ei millään muistu mieleen.

Tattista

11

807

Vastaukset

  • Kunde ei tajunnut yhtään mitään...
    voisitkos antaa esimerkin

    • 1) Välilehden nimi "Tau1", kun kirjoittaa soluun C3 tekstin "Tau1", niin eikös se ole siinä?

      2) Jos kirjoittaa samaan soluun =Sheet(), niin tulos on kaiketi sama?

      (-;


    • Solu pitäisi olla määritettynä siten että kun siihen kirjottaa tekstiä ja painaa enter niin sama teksti ilmestyy kyseisen välilehden nimeksi. Eli toiminta olisi jotenkin asetettu kyseisen "solun rakenteeseen(?)".

      Jos vaikka A1 soluun oisi tehty tälläinen "kikka" niin aina kun kirjottaisin A1:seen jotain ja painaisin enter, niin solun A1 sisältö muuttaisi välilehden nimen täksi samaksi. Eli A1=Sheetin nimi.

      Tämä voi olla joku aivan törkeen yksinkertainen asia, mutta oon vähän huono selittämään =P


    • sweit kirjoitti:

      Solu pitäisi olla määritettynä siten että kun siihen kirjottaa tekstiä ja painaa enter niin sama teksti ilmestyy kyseisen välilehden nimeksi. Eli toiminta olisi jotenkin asetettu kyseisen "solun rakenteeseen(?)".

      Jos vaikka A1 soluun oisi tehty tälläinen "kikka" niin aina kun kirjottaisin A1:seen jotain ja painaisin enter, niin solun A1 sisältö muuttaisi välilehden nimen täksi samaksi. Eli A1=Sheetin nimi.

      Tämä voi olla joku aivan törkeen yksinkertainen asia, mutta oon vähän huono selittämään =P

      taulukon moduuliin...
      Private Sub Worksheet_Change(ByVal Target As Range)
      On Error Resume Next
      If Not Intersect(Target, Range("A1")) Is Nothing Then
      ActiveSheet.Name = Range("A1")
      End If
      End Sub


    • kunde kirjoitti:

      taulukon moduuliin...
      Private Sub Worksheet_Change(ByVal Target As Range)
      On Error Resume Next
      If Not Intersect(Target, Range("A1")) Is Nothing Then
      ActiveSheet.Name = Range("A1")
      End If
      End Sub

      Kiitos!


    • kunde kirjoitti:

      taulukon moduuliin...
      Private Sub Worksheet_Change(ByVal Target As Range)
      On Error Resume Next
      If Not Intersect(Target, Range("A1")) Is Nothing Then
      ActiveSheet.Name = Range("A1")
      End If
      End Sub

      Heh heh.. Voisitkos vielä rautalangasta vääntää mihin tuo pitää laittaa. Olen koittanut tökötä tuon koodin Visual Basicin kautta joka paikkaan, mutta eihän se mistään toimi.

      Nimimerkillä "ei vain osaa"


    • Sweit kirjoitti:

      Heh heh.. Voisitkos vielä rautalangasta vääntää mihin tuo pitää laittaa. Olen koittanut tökötä tuon koodin Visual Basicin kautta joka paikkaan, mutta eihän se mistään toimi.

      Nimimerkillä "ei vain osaa"

      W00t! Sain toimimaan, Kiitos! =)


  • Entäs toisinpäin? A1 solun arvo muuttuu jos välilehden nimi muuttuu. Kiitos

    • Function TaulukonNimi()
          Application.Volatile
          TaulukonNimi = ActiveSheet.Name
      End Function


  • Vaihda se surkee vakoileva MS offise johonkin toimivaan!

  • Aika pahan kyssärin heitit ;-)
    Taulukon nimen muutokselle ei löydy tapahtumaa, mutta kikkailemalla sekin syntyi...
    Vanhalla EXCEL4 macrolla homma hoituikin

    ThisWorkbook moduuliin...
    Option Explicit

    Private Sub PäivitäTaulukonNimi()
    ActiveSheet.Range("A1").Formula = _
    "=MID(CELL(""filename""," & _
    ActiveSheet.Name & "!A1" & _
    "),FIND(""]"",CELL(""filename""," & _
    ActiveSheet.Name & "!A1" & _
    "))+1,255)"
    End Sub

    Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
    On Error Resume Next
    Application.EnableEvents = False
    PäivitäTaulukonNimi
    Application.EnableEvents = True
    End Sub
    Sub Reset()
    Application.EnableEvents = True
    Application.Calculation = xlCalculationAutomatic
    End Sub

    Keep EXCELing
    @Kunde

Ketjusta on poistettu 0 sääntöjenvastaista viestiä.