Miten saisi luotua yhteyden kahden työkirjan välille, niin, että toisessa työkirjassa käytetty muotoilu siirtyy toiselle, jos arvo on sama?
Eli jos työkirjassa 1 on soluissa A1-A5 näin:
osa 101
osa 102
osa 103
osa 104
osa 105
ja näistä A2 "osa 102" on täytetty vihreäksi.
työkirjassa 2 on soluissa B3-B6 näin:
osa 308
osa 102
osa 222
osa 104
Miten tämän työkirjan 2 saisi linkitettyä työkirjaan 1, niin että muotoilu toistuisi, kun arvo on sama, eli työkirjassa 2 solun B4 täyttö olisi myös vihreä, koska työkirjassa 1 solussa A2 on sama arvo ja se on täytetty vihreäksi?
Yhteys kahden työkirjan välillä
12
1101
Vastaukset
- Anonyymi
Riippuu vähän siitä miten noihin soluihin tuotetaan arvot ja samoin se ensimmäinen vihreä täyttö? Kaavoilla vaiko manuaalisesti?
Solun sisältö voidaan helposti viitata haettavaksi toisesta työkirjasta. Samoin täyttövärille voi tehdä ehtolausekkeen tietyihin soluihin. - Anonyymi
Excelissä ei taida olla keinoa havaita muotoilun muuttumista.
- Anonyymi
kunde kirjoitti:
https://www.dropbox.com/s/uzq106xr4pv2cof/ScreenRecorderProject283.mp4?dl=0
Keep EXCELing
@KundeKo. sivun modulissa lienee joku seuraavan kaltainen. Tämä toimii oikein, jos tuo Test.xlsx on valmiiksi auki. Jos se on kiinni, tarkoitus olisi että se avataan ja sitten muuttamisen jälkeen talletetaan ja suljetaan. Jostain syystä makro pysähtyy aina tiedoston tallettamisen jälkeen, ikään kuin siinä olisi painettu breikkiä. Se jatkaa ongelmitta painamalla f5 . Askeltamalla tuo kohta ei ilmoita mitään poikkeavaa. En keksinyt syytä.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
nimi = "Test.xlsx"
Test = "C:\temp\excel\" & nimi
If Dir(Test) = "" Then Exit Sub
avattuna = OnAuki(nimi)
Set tämä = ThisWorkbook
Application.EnableEvents = False
On Error GoTo err:
Application.Undo
muutettu = ActiveCell.Address
Application.Undo
arvo = Range(muutettu).Value
Range(muutettu).Copy
Set f = Workbooks.Open(Filename:=Test)
KäytettyAlue = "A1:" & f.Sheets("Sheet1").Range("A1").SpecialCells(xlCellTypeLastCell).Address
For Each solu In f.Sheets("Sheet1").Range(KäytettyAlue )
If solu.Value = arvo And arvo <> "" Then
solu.PasteSpecial Paste:=xlPasteFormats
Debug.Print "format"
End If
Next solu
tämä.Activate
Target.Select
Application.SendKeys ("{ESC}")
Application.EnableEvents = True
If Not avattuna Then
f.Save ' Tämän jälkeen makro pysähtyy
f.Close
End If
Exit Sub
err:
Application.EnableEvents = True
End Sub
Private Function OnAuki(ByVal f As String) As Boolean
Dim wb As Workbook
On Error Resume Next
Set wb = Application.Workbooks.Item(f)
OnAuki = (Not wb Is Nothing)
End Function Anonyymi kirjoitti:
Ko. sivun modulissa lienee joku seuraavan kaltainen. Tämä toimii oikein, jos tuo Test.xlsx on valmiiksi auki. Jos se on kiinni, tarkoitus olisi että se avataan ja sitten muuttamisen jälkeen talletetaan ja suljetaan. Jostain syystä makro pysähtyy aina tiedoston tallettamisen jälkeen, ikään kuin siinä olisi painettu breikkiä. Se jatkaa ongelmitta painamalla f5 . Askeltamalla tuo kohta ei ilmoita mitään poikkeavaa. En keksinyt syytä.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
nimi = "Test.xlsx"
Test = "C:\temp\excel\" & nimi
If Dir(Test) = "" Then Exit Sub
avattuna = OnAuki(nimi)
Set tämä = ThisWorkbook
Application.EnableEvents = False
On Error GoTo err:
Application.Undo
muutettu = ActiveCell.Address
Application.Undo
arvo = Range(muutettu).Value
Range(muutettu).Copy
Set f = Workbooks.Open(Filename:=Test)
KäytettyAlue = "A1:" & f.Sheets("Sheet1").Range("A1").SpecialCells(xlCellTypeLastCell).Address
For Each solu In f.Sheets("Sheet1").Range(KäytettyAlue )
If solu.Value = arvo And arvo <> "" Then
solu.PasteSpecial Paste:=xlPasteFormats
Debug.Print "format"
End If
Next solu
tämä.Activate
Target.Select
Application.SendKeys ("{ESC}")
Application.EnableEvents = True
If Not avattuna Then
f.Save ' Tämän jälkeen makro pysähtyy
f.Close
End If
Exit Sub
err:
Application.EnableEvents = True
End Sub
Private Function OnAuki(ByVal f As String) As Boolean
Dim wb As Workbook
On Error Resume Next
Set wb = Application.Workbooks.Item(f)
OnAuki = (Not wb Is Nothing)
End FunctionVideollani testi työkirja on suljettuna.
Melkoista kikkailua tuo koodi...
Virheen syy...
https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/code-execution-has-been-interrupted?f1url=?appId=Dev11IDEF1&l=en-US&k=k(vblr6.chm1011317);k(TargetFrameworkMoniker-Office.Version=v16)&rd=true
Keep EXCEling
@Kunde- Anonyymi
kunde kirjoitti:
Videollani testi työkirja on suljettuna.
Melkoista kikkailua tuo koodi...
Virheen syy...
https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/code-execution-has-been-interrupted?f1url=?appId=Dev11IDEF1&l=en-US&k=k(vblr6.chm1011317);k(TargetFrameworkMoniker-Office.Version=v16)&rd=true
Keep EXCEling
@KundeKorjaus:
Application.EnableCancelKey = xlDisabled
f.Save ' nyt makro pääsee tästä yli pysähtymättä
Application.EnableCancelKey = xlErrorHandler
Yhä on mysteeri, miksi Excel toisinaan temppuilee ja tekee aivan omiaan. Anonyymi kirjoitti:
Korjaus:
Application.EnableCancelKey = xlDisabled
f.Save ' nyt makro pääsee tästä yli pysähtymättä
Application.EnableCancelKey = xlErrorHandler
Yhä on mysteeri, miksi Excel toisinaan temppuilee ja tekee aivan omiaan.Kannattaa välttää noita Keypress komentoja koodissa, eivät toimi luotettavasti
- Anonyymi
kunde kirjoitti:
https://www.dropbox.com/s/uzq106xr4pv2cof/ScreenRecorderProject283.mp4?dl=0
Keep EXCELing
@KundeKannattaa vaihtaa Libre-Officeen niin nää toimiikin, Exelissä kun toimii miten sattuu!
Anonyymi kirjoitti:
Kannattaa vaihtaa Libre-Officeen niin nää toimiikin, Exelissä kun toimii miten sattuu!
Turhaa anonyymi mulle naljailet. Koodini toimii loistavasti, kuten videolta voit nähdä.
Anonyymin koodissa se ongelma oli eikä minun ja hän on koodissaan käyttänyt noita Keypress komentoja, jotka eivät ole luotettavia, eikä niitä olisi kovin suotavaa käyttää.- Anonyymi
kunde kirjoitti:
Kannattaa välttää noita Keypress komentoja koodissa, eivät toimi luotettavasti
Kokeilin myös ilman komentoa Application.SendKeys ("{ESC}")
Se ei auttanut. En tiedä, olisiko toiminut boottaamisen jälkeen. - Anonyymi
Anonyymi kirjoitti:
Kannattaa vaihtaa Libre-Officeen niin nää toimiikin, Exelissä kun toimii miten sattuu!
Käyttäisin mielelläni, mutta
- Makrojen teko Libreen on kertaluokkaa hankalampaa.
- Kaikkea sitä mitä Excelillä voi, ei ole mahdollista tehdä Librellä.
- Töissä nyt vaan käytetään MS Officea. - Anonyymi
Anonyymi kirjoitti:
Kannattaa vaihtaa Libre-Officeen niin nää toimiikin, Exelissä kun toimii miten sattuu!
Näin se on MS office paistaa toimimattomuudelaan.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 814472
Purra on kantanut vastuuta täyden kympin arvoisesti
Luottoluokituksen lasku, ennätysvelat ja ennätystyöttömyys siitä muutamana esimerkkinä. Jatkakoon hän hyvin aloittamaans1164142BOIKOTOIN - Ei mitään Suomi.fi postilaatikoita käyttöön
Ainakaan minulle! Vai että pitäisi alkaa siellä käyädä katselemassa tammikuusta 2026 siis periaatteessa päivittäin että1693201Surullista
Että menetit sen naisen , tosi surullista ja vielä oman tyhmyyden takia ,ymmärrän että se on masentavaa582567Hallitus on kaadettava ja Orpon on erottava
Mikään muu hallitus ei ole oman elämäni aikana tuhonnut näin paljon tämän maan taloutta ja työllisyyttä sekä suomen main252517- 1652440
Muuttunut käytös
Onko kaivattusi käytös muuttunut? Tiedätkö mistä se johtuu? Haluatko kertoa, mitä tapahtui?682439Persujen mukaan rasismi on huumoria
Vaan kun koomikko kutsui Halla-ahoa fasistiksi, niin piti haastaa oikeuteen. Mihin se huumorinitaju yhtäkkiä hävisi? ⠀312375Lasse Lehtonen vaatii persuja pyytämään anteeksi aasialaisilta
Persut ova romahduttaneet Suomen maakuvan parissa päivässä negatiiviseksi rasismillaan ja se alkaa vaikuttamaan jo Suome582360Väkeä oli liikkeellä
Nyt leijutaan pilvissä. Kun eläinpuistossa oli porukkaa 😆😆 Olihan siellä kun ilmaiseksi pääsivät. Eiköhän se juuri sik432122