Kuinka saan taulukon nimen soluun?
Taulukon nimi soluun
Excelhirmu
296216
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 29
Vanhimmat
pari päivää sitten vastasin samanlaiseen kyssäriin...
http://keskustelu.suomi24.fi/node/9654096
Siis ko. solun sisällöksi
=MID(CELL("filename");FIND("]";CELL("filename")) 1;255
ja pitäisi toimia, vai?
(Office 2007 suomi)
se lontoon versiossa...
suomiversio
=POIMI.TEKSTI(SOLU("tiedostonnimi");ETSI("]";SOLU("tiedostonnimi")) 1;255)
kiitos paljon!
Kaavassa on virhe, antaa sivun nimen. Ao. toimii oikein:
=POIMI.TEKSTI(SOLU("tiedostonnimi");ETSI("[";SOLU("tiedostonnimi")) 1;255)
Kumma, että nuo Mikrosoftin omilla sivuilla olevat kaavaesimerkit eivät toimi??
Ei toimi tämäkään.
Plussa yksinäisen ykkösen eteen. Nykyään Suomi24 piilottaa sen.
Alkuperäinen kysymys oli:
"Kuinka saan taulukon nimen soluun?"
Tarkoittaako Excelhirmu, että soluun tulee kyseisen tiedoston nimi vai taulukkovälilehden nimi?
Viimeisin vastaus viittaa tiedoston nimeen, tosin en saanut toimimaan.
No nyt sain toimimaan, käsitin ohjeen vasta monen kokeilun jälkeen.
Te palstan käyttäjät olette kyllä ihan hillittömän taitavia Excelissä.
Itsekin tykkään auttaa sen vähän mitä osaan, mutta joku bisneshemmo kyllä ihmettelisi ihmisten intoa auttaa toisia täysin ilmaiseksi.
Hyvin moni on tällä palstalla saanut paljon apua töihinsä, ja täysin ilmaiseksi.
Erittäin suuri ristiriita: Yhteiskunta vain kovenee, pelkkä rahallinen voitto merkitsee ja siksi ihmisiä potkitaan työttömiksi. JA SITTEN ON SOME, jossa ihmiset tykkää auttaa toisiaan.
Kiitos teille kaikille
Parempi hiukan aivojumpata, kuin vaan dokata kaljaa helteessä palmun alla päivät pitkät...
Keep EXCELing
@Kunde
Mitenkäs mahtaisi saada Sheet1:lle Tauli1, Taul2, Taul3 jne niimet haluttuihin ruutuihin...?
Esnimmäiselle sivulle siis tarkoitus tehdä koosterivit alasivuista.
Function SivunNimi(n)
SivunNimi = Sheets(n).Name
End Function
Tuo taitaa olla vähän edistyneempää funktiointia... Kuinkas tuo taulukkoon syötetään - ei mene ihan suoraan tuosta kopioimalla?
Lisää funktio -valikoista en ainakaan löytänyt.
Dveloper-välilehdeltä kohta Visual Basic . aukeaa Visual Basic for Applications. Sieltä: Insert - Module - aukeaa tyhjä ikkuna. Kopioi tuo funktio sinne.
Itse tehtyjä funktioita voi käyttää kuten Excelin vakiofunktiotkin.Parametrinä annetaan numero ja funktio palauttaa niin monennen välilehden nimen. Jotta tehdyt funktiot tai makrot säilyvät, asiakirja on muistettava tallettaa muodossa .xlsm.
Ellei sinulla ole Developer-välilehteä, sen saa esiin seuraavasti:
File _ Options - Customise Ribbon - merkitse oikealta kohta Developer
Mikä idea on kaavalla saada taulukon nimi soluun.. Eikös helpointa olisi vain kirjoittaa se siihen soluun?
Teen työpohjaa, välilehden nimeämällä koostesivulle saisi tuolla tavalla suoraan oikean nimikkeen. Yksittäisen taulukon ja muutaman välilehden kanssa tietenkin on helpompi vain kirjoittaa se itse, mutta kyse on vuosien aikana kertyvistä tuhansista toistoista, joihin ei tarvitse käyttää työaikaa, jos automaatio toimii. Ja kysehän on automaattisesta tietojen käsittelystä, laitetaan tietokone töihin tekemään sitä mihin se on suunniteltu.
Toimii kyllä. Ei vain päivity automaattisesti soluun, kun muuttaa välilehden nimeä. Ratkaisua tähän?
ThisWorkbook moduuliin...
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Range("A1") = Sh.Name
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Range("A1") = Sh.Name
End Sub
Toimii kerran. Miten saa toimimaan niin, että vaihtuu joka kerta solussa, kun muuttaa välilehden nimeä?
Kyllä minulla toimii OK. eli uudelleennimeä ko taulukon nimi ja klikkaat jotakin soluataulukossa, niin nimi päivittyy tai jos aktivoit jonkun toisen taulukon ja palaat ko. taulukkoon niin nimi päivittyy.
Tämä koodi antaa vaan ko. taulukon nimen ja jos yrittää jollain muulla keinolla esim.
Tämmösen funktiolla viitata muihin taulukoihin niin ongelmia tulee ja ei päivity tietenkään
Function SivunNimi(n)
SivunNimi = Sheets(n).Name
End Function
ongelmaksi tulee se, että jos taulukkoa siirretään esim 1 oikealle, sen indeksi kasvaa yhdellä ja ei palauta enää alkuperäisen taulukon nimeä vaan edelliseen indeksiin viitatun taulukon nimen( indeksi-1).
Alempana on mun postaama koodi, joka käyttää ovelasti taulukon määritettyä nimeä(koodinimi taulukolle) ovelasti ja koska se on taulukkokohtainen se on kuin sormenjälki ihmisellä. Ei haittaa vaikka siirtelee, niin aina palautuu oikea taulukon nimi ;-)
Mulla päivittyy vasta kun klikkaan kyseiseen soluun (niin että kaava tulee esiin) ja klikkaan "enter".
tarkoitat varmaan tätät koodia?
Function SivunNimi(n)
SivunNimi = Sheets(n).Name
End Function
se ei päivity ja ongelma myös siinä, jos siirrät taulukkoa palauttaa väärän taulukon nimen. Ainoat keinot on APi ja toi allaoleva koodini, jotka palauttavat oikean taulukon siirtelee sitä tai ei.
tämä päivittyy
Function SivunNimi(n)
Application. Volatile
SivunNimi = Sheets(n).Name
End Function
Keep EXCELing
@Kunde
Jees! Nyt toimii! Mahtavaa, kiitos!
hieman ovelampi tapa. Lisätään taulukon nimiin koodinimi taulukolle ja käytetään sitä.
moduuliin...
Option Base 1
Public Nimet() As Variant
Dim i As Long
'suorita tämä makro ekaksi...
Sub UniikkiNimet()
' lisää haluamasi koodinimi taulukoille matriisissa
Nimet = Array("Makkara", "Kinkku", "Salami")
For i = 1 To UBound(Nimet)
ThisWorkbook.Worksheets(i).Names.Add Nimet(i), "Huuhaa"
Next
End Sub
Function HaeNimi(KoodiNimi As String) As String
Dim Nimi As Name
Dim Taulukko As Worksheet
On Error Resume Next
Application.Volatile True
For Each Taulukko In ThisWorkbook.Worksheets
Set Nimi = Taulukko.Names(KoodiNimi)
If Not Nimi Is Nothing Then
HaeNimi = Nimi.Parent.Name
Exit Function
End If
Err.Clear
Next
End Function
Keep EXCELing
@Kunde
jäi käyttöohje pois eli
soluun mihin haluat taulukon nimen kaava =HaeNimi("Salami") eli edellisen postauksen mukkan kolmas taulukko olisi nimetty koodilla Salami. Ei haitta vaikka siirtelee sitten taulukkoa eri paikkaa ja oikea nimi tulee silti....
Keep EXCELing
@Kunde
( LibreOffice 6.0 Calc )
Tässä on jo monenlaista tarjottu, mutta tämä puuttuu:
https://s25.postimg.cc/571un16u7/Tauluko-nimi.gif
Tuossa animaatiossa, minä tupla-nausautan hiirellä solua jonka jälkeen painan hiiren oikeanpuoleista painiketta, avatakseni PopUp-valikon, ja loppuhan näkyykin animaatiossa.
ja mitenkäs tämä liittyy EXCELìin?
Mietippä sitä.
Heitä helvettiin se ms-office.