Hei,
Minulla on myynti taulukko 2015 jossa on henkilöiden nimiä sarakkeessa A muodossa Sukunimi Etunimi ja siinä on viikottainen myynti henkilöiltä 1-52 viikoille. Yhdessä taulukossa jokainen viikko.
Sitten minulla on toinen 'Henkilökohtainen raportti', jossa henkilöt on nimetty aakkosilla tyyliin A, B, BD, jne. jossa on muutakin dataa ja jokaista viikkoa kohden on oma välilehti. Viime viikko oli viikko 39, jotta minun ei tarvitsisi naputella samoja tietoja kahteen kertaan, niin miten saisin haettua myynti2015 taulukosta soluista ET5;EU5;EV5 'Henkilökohtaiseen raporttiin' Henkilön E kohdalle välilehdelle Vko 39.
Joku haku funktiohan tähän pitää kehitellä, että se osaa hakea nimen perusteella myynti2015 taulukosta ja sitten, että esimerkiksi Matti Meikäläinen on kirjain E niin se hakisi sen henkilön perustella noista soluista tiedon ja toisi sen Henkilökohtaiseen raporttiin. Tämä pitäisi tietysti saada toistettua jokaisen viikon välilehdelle.
Toivottavasti tämä asian nyt jotenkin selvisi tästä. Kiitos paljon avusta
Tiedon hakeminen toisesta taulukosta
12
999
Vastaukset
- Tarkkaa
Saisit varmaan nopeammin vastauksia, jos kertoisit, minkä ohjelman tai ohjelmien avulla nuo mainitsemasi taulukot pyörivät.
- HenriKK
Ihan Excelissä pyöritän näitä.
Voin esimerkki tiedoston lähettää tarvittaessa myös sähköpostiin, jos tarvii. - Kundepuu
HenriKK kirjoitti:
Ihan Excelissä pyöritän näitä.
Voin esimerkki tiedoston lähettää tarvittaessa myös sähköpostiin, jos tarvii.Ei tossa mitään ihmeellistä ole ja varmaan löytyy mun tekemä makro vuosien takaa täältäkin.
Lähetä tiedosto mulle, niin tulee kerralla oikein, ettei tartte arvailla ;-)
[email protected]
Keep EXCELing
@Kunde
- suoralinkki
Jos vaan ihan yksinkertaisesti laitat siihen soluun johon pitää tulla myynti2015 ET5 arvo, suoran linkin. Eli:
- avaa molemmat tiedostot
- klikkaa sitä solua johon haet tiedon ja laita "="-merkki, vaihda lähdetiedostoon ja klikkaa ET5 solua
- kaava näyttää nyt tältä =[myynti2015.xlsx]"välilehden nimi"!$ET$5 (solussa näkyy se sama arvo kuin myynti2015 arvo on.- HenriKK
Tuo on erittäin työläs tapa. Henkilöitä on paljon ja ne on eri järjestyksessä molemmissa taulukoissa.
- EiPystyKertoon
Miten selviää, mille välilehdelle henkilön Etu Suku tiedot kirjoitetaan?
- PHAKU
PHAKU-funktio hakee halutusta taulukosta nimen perusteella halutun arvon määrätystä sarakkeesta. Mutta jos toisessa taulukossa on Matti Meikäläinen ja toisessa E, ei haku onnistu. Molemmista pitää löytyä joko Matti M. tai E tai molemmat
- HenriKK
Molemmista löytyy se Matti M
- HenriKK
Selvennykseksi tässä kaksi tiedosta.
Eli henkilökohtaiseen pitäisi hakea tiedot Myynti_2015 perustuen nimeen.
http://virtualfuture.net/Henkilokohtainen.xlsx
http://virtualfuture.net/Myynti_2015.xlsx
- Tämmöinen
Henkilökohtainen.xlsx sivun Taul1 nimeksi tulee vko 0 ja muut sivut poistetaan. Soluun A1 tulee vuosiluku 2015. Talletetaan muodossa xlsm. Sivulle tulee kaksi nappia - Uusi ja Täytä, jotka linkitetään saman nimisiin makroihin. Esimmäisellä tehdään kopiota sivusta vko 0. Ne nimetään järjetyksessä. Toinen nappi avaa tiedoston Myynti_2015.xls ellei se ole auki. Kutakin nimeä vastaava tunnus tarkistetaan vko 0 -sivulta ja tedot kirjoitetaan tunnusta vastaavalle riville.
' =========================
Sub Uusi()
N = Sheets().Count
Sheets("vko 0").Copy After:=Sheets(N)
Sheets(N 1).Name = "vko " & Mid(Sheets(N).Name, 5) 1
Sheets(N 1).Select
End Sub
' =========================
Sub Täytä()
On Error GoTo Err
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
polku = ActiveWorkbook.Path
henkkoht = ActiveWorkbook.Name
viikko = ActiveSheet.Name
myynti = "Myynti_" & Range("A1") & ".xlsx"
Set myyntixl = Workbooks(myynti)
If myyntixl Is Nothing Then
Workbooks.Open Filename:=polku & "\" & myynti
pitiavata = True
Else
pitiavata = False
End If
For vs = Cells.SpecialCells(xlCellTypeLastCell).Column To 1 Step -1
If Workbooks(myynti).Sheets(1).Cells(1, vs).Value = viikko Then Exit For
Next vs '
If vs < 2 Then
a = MsgBox("Ei tietoja viikolle " & viikko, vbOKOnly)
Exit Sub
End If
With Workbooks(myynti).Sheets("Taul1")
For i = 4 To 20
nimi = .Cells(i, "A")
If nimi <> "" Then
On Error Resume Next
kirjain = WorksheetFunction.VLookup(nimi, Sheets("vko 0").Range("A3:C42"), 3, False)
If kirjain = Empty Then
a = MsgBox("Ei nimieä " & nimi, vbOKOnly)
Exit Sub
End If
On Error GoTo Err
For j = 3 To 41
m = Cells(j, "C")
If Cells(j, "C") = kirjain Then
Range("A" & j).Value = .Range("A" & i).Value
.Range(.Cells(i, vs), .Cells(i, vs 2)).Copy
Range("K" & j).PasteSpecial xlPasteValues
Exit For
End If
If j = 41 Then
a = MsgBox("Ei nimieä " & nimi, vbOKOnly)
Exit Sub
End If
Next j
Else
Exit For
End If ' nimi
Next i
End With
Err:
If pitiavata Then Workbooks(myynti).Close
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
End Sub- Kundepuu
;-)
Keep EXCELing
@Kunde - Tämmöinen
Huomasin tässä, että kummankin Exit Sub:in tilalla pitää olla Goto Err. Muuten viimeiset rivit voivat jäädä suorittamatta ja Excel jää silloin outoon tilaan.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Useita puukotettu Tampereella
Mikäs homma tämä nyt taas on? "Useaa henkilöä on puukotettu Tampereen keskustassa kauppakeskus Ratinan lähistöllä." ht1903554Kuka rääkkää eläimiä Puolangalla?
Poliisi ampui toistakymmentä nälkiintynyttä eläintä Puolangalla Tilalta oli ollut karkuteillä lähes viisikymmentä nälkii572217Asiakas iski kaupassa varastelua tehneen kanveesiin.
https://www.iltalehti.fi/kotimaa/a/33a85463-e4d5-45ed-8014-db51fe8079ec Oikein. Näin sitä pitää. Kyllä kaupoissa valtava3762210- 432072
Meneeköhän sulla
oikeasti pinnan alla yhtä huonosti kuin mulla? Tai yhtä huonosti mutta jollain eri tyylillä? Ei olisi pitänyt jättää sua321491Jos ei tiedä mitä toisesta haluaa
Älä missään nimessä anna mitään merkkejä kiinnostuksesta. Ole haluamatta mitään. Täytyy ajatella toistakin. Ei kukaan em931251- 541213
Muutama kysymys ja huomio hindulaisesta kulttuurista.
Vedakirjoituksia pidetään historiallisina teksteinä, ei siis "julistuksena" kuten esimerkiksi Raamattua, vaan kuten koul4601202Jumala puhui minulle
Hän kertoi sinusta asioita, joiden takia jaksan, uskon ja luotan. Hän kuvaili sinua minulle ja pakahduin onnesta kuulles1211063- 591004