Hirdetés
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Milyen RAM-ot vegyek?
- Bambu Lab 3D nyomtatók
- Milyen egeret válasszak?
- Milyen videókártyát?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Azonnali alaplapos kérdések órája
- Pánik a memóriapiacon
- Amilyen gyorsan jött, olyan gyorsan ment is a világ legdrágább csúcs-VGA-ja?
- Milyen monitort vegyek?
-
PROHARDVER!
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
-
Fehér Mancs
tag
Azt hittem, hogy ez már megoldódott... A lényeg, hogy amikor macro-val cserélsz, akkor az excel angol formátumú számokban gondolkodik, neki a pont a tizedesvessző és a vessző az ezres elválasztó, ilyen formáumra kell hozni a cserével a szöveget. Csere után, ha általános formátumú a cella, mindig megvizsgálja a progi, hogy számmá vissza lehet-e e formában írni.
Vagyis, ha a 1.800,12-ben kicseréled a pontot macroval, akkor 1800,12-t akar visszaírni, ami számára nem szám/vagy pedig, ami még rosszabb, ezres elválasztónak érzékeli a vesszőt. Ha ilyenkor a pontot pontra cseréljük (mintha nem is csinálnánk semmit), akkor az angol számformátum alapján felismeri, hogy mi a valódi ezres elválasztó és a pont, és azt írja vissza.
Amúgy adatok importjánál nem lehet ezt már lekezelni? Ha előtte beállítod az ezres elválasztót és a pont formátumot, az excel rögtön felismeri, hogy szám (options->International menűpont).
-
Fehér Mancs
tag
A probléma az, hogy a macro a számokat angolosan látja, vagyis tizedesvesszőként pont szerepel; ha azt kicseréled, akkor elvész a nagyságrend. (A visszaírásnál is így kell megadni).
Két megoldást látok:
- egyik, hogy az excelbe való betöltésnél kezeljük ezt le (Tools->Options->International menüpontban be kell állítani a konvertálás idejére a ","-ős ezresválasztót és "."-os tizedesvesszőt.- másik, hogy a macro csak a szöveges mezőket alakítja át, angolos lelkületűre (futtatás előtt ki kell választani az átalakítandó cellákat):
Sub Macro6()
Dim rngCell As Range
For Each rngCell In ActiveWindow.RangeSelection
If VarType(rngCell.Value) = vbString Then
rngCell.Replace What:=".", Replacement:=""
rngCell.Replace What:=",", Replacement:="."
End If
Next rngCell
End SubReméljük ez megoldja a problémát.
-
Delila_1
veterán
Sub Csere()
Range("A1:A1000").Select
Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
For Each cv In Worksheets("Munka1").Range("A1:A1000")
Range(cv.Address) = Left(cv.Value, Len(cv.Value) - 3)
Next
End SubEz a makró megcsinálja mindegyik cserét, de a futtatása előtt a Range("A1:A1000")-et két helyen, és a Munka1-et írd át a saját értékeidre.
Új hozzászólás Aktív témák
- BLACK FRIDAY! - Jogtiszta Windows - Office & Vírusirtó licencek- Azonnal - Számlával - Garanciával
- ::::: HATALMAS LEÁRAZÁSOK! I JOGTISZTA MICROSOFT TERMÉKEK I 27%-OS ÁFÁS SZÁMLA I 10 ÉV GARANCIA ::::
- Antivírus szoftverek, VPN
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- BESZÁMÍTÁS! MSI B450M R5 5600X 32GB DDR4 512GB SSD RX 6800 16GB Zalman Z1 PLUS Cooler Master 750W
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB DDR5 RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Bomba ár! HP EliteBook 840 G3 - i5-6GEN I 8GB I 256GB SSD I 14" HD I Cam I W10 I Garancia!
- Gamer PC-Számítógép! Csere-Beszámítás! I7 6700K / GTX 1660TI / 16GB / 128GB SSD + 1TB HDD
- Lenovo ThinkPad T14s Gen 2 i5-1135G7 4.2GHz turbo 16GB 512GB 1 év garancia
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



Fferi50

