- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Okosóra és okoskiegészítő topik
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- iPhone topik
- Samsung Galaxy S25 - végre van kicsi!
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Huawei Mate 10 Pro - mestersége az intelligencia
- Google Pixel topik
- Szuperkijelzővel készül a Huawei Mate 80 RS
- Telekom mobilszolgáltatások
-
Mobilarena
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
szatocs1981
aktív tag
Igazából nem nagyon látom át a problémát.
Az segít, ha kiszüröm a kijelölésböl az üres cellákat és avval nem fog történni semmi?Megvan még az eredeti doksi?
EDIT:
Igy a kijelölt cellákból az üreseket békén hagyja:
Sub Makro1()
Dim rng As Range
For Each rng In Selection
sString = rng.Text
If sString <> "" Then
rng.NumberFormat = "@"
rng.Value = sString
End If
Next -
szatocs1981
aktív tag
Szia,
szvsz egy pár soros makróval megoldható a probléma.
A kijelölt cellákat át tudod formázni idöröl szövegre úgy, hogy a cellák tartalma ne változzon.Sub Makro1()
Dim rng As Range
For Each rng In Selection
sString = rng.Text
rng.NumberFormat = "@"
rng.Value = sString
Next
End Sub -
Mutt
senior tag
Hello,
...ha egy fehér munkalapon az egyik cella színét megváltoztatom (pl:sárgára) akkor egy másik munkalapon lévő hivatkozás ne az eredeti értéket vegye alapul, hanem egy előre beállított értéket. (pl: sárga esetén =SZ)
Delila_1 megoldása mellett én is csináltam egy változatot.
Ahogy már olvastad cella színére nincs alapból esemény, ezért valós időben megfogni nem lehet.
Azt választottam, hogy egy ún. volatile függvényt írtam, amely akkor is frissül, ha az érintett cellában nincs változás. Ez azt jelenti, hogy ha vhol módosítasz akkor máris frissül az eredmény.
Az UDF használata:
=ColorDecode(vizsgalando cella;színkód1;eredmény1;színkód2;eredmény2;....)Ahol a színkód pl. fekete, sárga, piros stb. Az eredmény lehet szöveg, másik cella, képlet. Ha nincs találat, akkor az eredei cellát adja vissza.
pl. =ColorDecode(A2;"fekete";-100;"piros";2*2;"zöld";"Z+")
Vagyis ha az A2 színe fekete akkor -100-t ír, ha zöld akkor "Z+"t, sárga esetén pedig az A2 cella értékét.Itt a kód, amelyet te is tudsz bővíteni, csak a színeket és a hozzájuk tartozó kódokat kell felsorolnod. Ezt megkapod, ha csak egy paramétert használsz, pl. ColorDecode(A2)
Function ColorDecode(original As Range, ParamArray contents()) As Variant
Const ColorNum As Integer = 10 'ha 10-nél több szín formázást akarunk
Const ColorNames As String = "FEKETE,SÖTÉTVÖRÖS,PIROS,NARANCS,SÁRGA,VILÁGOSZÖLD,ZÖLD,KÉK,SÖTÉTKÉK,LILA"
Const ColorCodes As String = "0,192,255,49407,65535,5296274,5287936,15773696,6299648,10498160"
Dim vOriginalColor As Long
Dim arrayColors(1 To 2, 1 To 10) 'itt is a 10 javítani, ha fent átírod
Dim i As Integer
Dim s1, s2
Dim blnColorMatch As Boolean
Dim strMatch As String
Dim blnInputMatch As Boolean
'fusson le minden újraszámláláskor
Application.Volatile
'visszadjuk az eredeti értéket, ha nem találunk mást
ColorDecode = original
'az eredeti cella színét megnézzük
vOriginalColor = original.Interior.Color
Select Case UBound(contents)
'ha nincs paraméter akkor kiírjuk a színkódot
Case -1
ColorDecode = "Cella színkódja: " & vOriginalColor
'több paraméter esetén visszatér a megadott értékkel, ha tud
Case Else
'feltöltjük az ismert kódokat tömbbe
s1 = Split(ColorCodes, ",")
s2 = Split(ColorNames, ",")
For i = 1 To ColorNum
arrayColors(1, i) = s1(i - 1)
arrayColors(2, i) = s2(i - 1)
Next i
'megkeressük, hogy ezt a színt ismerjük-e
i = 0
blnColorMatch = False
Do
i = i + 1
If arrayColors(1, i) = vOriginalColor Then
blnColorMatch = True
strMatch = arrayColors(2, i)
End If
Loop Until blnColorMatch Or i = ColorNum
'ha a színt ismerjük, akkor megnézzük, hogy adtak-e rá paramétert
If blnColorMatch Then
blnInputMatch = False
i = 0
Do
'ha megtaláljuk, akkor a kövekező bemeneti paramétert írjuk ki
If strMatch = UCase(contents(i)) Then
ColorDecode = contents(i + 1)
blnInputMatch = True
End If
i = i + 2
Loop Until blnInputMatch Or i > UBound(contents)
End If
End Select
End FunctionBővítésnél a kód elején adj meg egy nevet, majd alatta a kódját. Ha 10-nél több kombinációd van akkor az első konstanst is emeld meg és a Dim arrayColors(1 To 2, 1 To 10) sorban is javítsd a 10-es számot.
üdv.
-
Delila_1
veterán
Mégis sikerült összehozni valamit.
Az első lapon duplaklikkre sárga lesz a háttér, a másodikon az azonos című cella felveszi az SZ értéket.Az első makrót az első laphoz rendeld, a másodikat modulba tedd.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim cella$
If Not Intersect(Target, Range("A3:H3")) Is Nothing Then
cella$ = Target.Address
Range(cella$).Interior.ColorIndex = 36
SZ (cella$)
End If
End SubSub SZ(cella$)
Sheets("Munka2").Range(cella$) = "SZ"
End Sub
Új hozzászólás Aktív témák
Hirdetés
- Lopakodva befutott a Radeon RX 9060
- Villanyszerelés
- HÁZIMOZI / HIFI / TV beárazás
- World of Tanks - MMO
- Fejhallgató erősítő és DAC topik
- Azonnali informatikai kérdések órája
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Battlefield 6
- BestBuy topik
- További aktív témák...
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Vírusirtó, Antivirus, VPN kulcsok
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Telefon felvásárlás!! Xiaomi Redmi Note 13, Xiaomi Redmi Note 13 Pro, Xiaomi Redmi Note 13 Pro+
- Új Gigabyte 16 Aero 4K+ OLED i7-13700H 14mag 16GB 1TB SSD Nvidia RTX 4070 8GB Studio Win11 Garancia
- Nvidia Quadro M2000/ P2000/ P4000/ RTX 4000/ RTX 5000/ RTX A2000
- Xiaomi Redmi Note 11 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! MSI B150M i5 7400 16GB DDR4 250GB SSD 500GB HDD GTX 1060 3GB BitFenix NOVA MESH 400W
Állásajánlatok
Cég: FOTC
Város: Budapest