Keresés

Új hozzászólás Aktív témák

  • #20368384

    törölt tag

    Érdekes hiba:
    1. Van egy táblázatom (Google Adwords-ből CSV vagy XLSX export - ugyanúgy előjön a hiba)
    2. Vannak oszlopok, ahol csak számok vannak
    3. CTR+F-el vagy makróval eltávolítom belőlük az ALT+0160 típusú szóközkaraktert
    4. Majd valutává konvertálom
    5. Az ezrestől nagyobb, régebben (ALT+0160) típusú szóközt tartalmazó, mostanra normális számként funkcionáló cellákba az érték nem állítódik be.
    6. Bele kell egyszer legalább kattintani és kikattintani belőlük vagy entert ütni.
    7. Akkor végre jobbra igazítja és valóban valuta lesz belőle.

    A kérdésem, az, hogy ez Excel hiba, és hogy orvosolható-e egyetlen lépésben?
    Van olyan lehetőség, ami újra beírja az értékeket az adott tartományban?

    A Makrót amit eddig írtam hozzá a következő

    Sub Google_Kulcsszojelentes_Formazas()
    '
    ActiveCell.Range("A1:M1").Select
    With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlBottom
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = False
    End With
    Selection.Merge
    With Selection.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .Color = 65535
    .TintAndShade = 0
    .PatternTintAndShade = 0
    End With
    Selection.Font.Bold = True
    ActiveCell.Offset(1, 0).Range("A1").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$2:$M$36"), , xlYes).Name = _
    "Táblázat1"

    ActiveCell.Range("A1:M35").Select
    Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False

    ActiveCell.Offset(-1, 3).Range("A:A,E:E,F:F,I:I").Select
    ActiveCell.Offset(0, 11).Range("A1").Activate
    Selection.Style = "Currency"
    End Sub

  • #20368384

    törölt tag

    válasz Delila_1 #27952 üzenetére

    Nagyon szépen köszönöm! Ez valami eszelős jó! Így már tudni fogom legközelebb, zseniális vagy! :D :R

  • #20368384

    törölt tag

    válasz Delila_1 #27947 üzenetére

    Hogyan lehet elérni, hogy több oszloppal egyszerre végezze el a kijelölést?
    Ugye azt mondtad, hogy :
    Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row).Select
    én egy statikus megállapítást fogalmaztam meg (mivel 2500 sortól több nem lesz az adott táblában):

    Range("H2:H2500,I2:I2500,J2:J2500,T2:T2500,V2:V2500,W2:W2500,Y2:Y2500").Select

    Ha az általad épített kódra akarnám alkalmazni, hogy a H, I, J, T, V, W, Y oszlopokban egyszerre történjen a kijelölést, azt, hogyan lehet elérni? Az már technikásabb?

    :)

  • #20368384

    törölt tag

    válasz Delila_1 #27947 üzenetére

    WoW! Hatalmas köszönet! :R
    Még csak most kezdem ismerkedni a VBA-val, de akkor ezek szerint egymásba lehet ágyazni az utasításokat zárójelekkel, úgy, mint excelben... szuper

  • #20368384

    törölt tag

    Sziasztok!
    Egy viszonylag bonyolult táblázattal való ismétlődő műveletek ültettem át makróra és elakadtam a VBA-an és már mindenhol szétnéztem a válasz után:

    Van egy oszlopom, amiben vannak értékek, szeretném a második cellától az utolsóig amiben még vannak adatok kijelölni és művelet csinálni velük.

    Range("A2").End(xlDown).Select

    Ámde vannak olyan sorok melyek üresek, még mielőtt tényleg véget érne az adott tábla és ott megáll a szkript, illetve csak azt az egy cellát jelöli ki.

    1. a végéig kellene, hogy menjen
    2. az összeset ki kellene egyben jelölnie

    Előre is köszönöm

    A többi már megvan, utána egy szöveget számmá alakító szkript jön, azt csak extraként másolom ide:
    Selection.Replace What:="Ft", Replacement:="", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    Dim rng As Range
    Dim arr As Variant
    Dim i As Long
    Set rng = Selection
    'removes character 160
    'non-breaking space
    'from selected cells
    If rng.Cells.Count = 1 Then
    ReDim arr(1 To 1, 1 To 1)
    arr(1, 1) = rng.Value
    Else
    arr = rng.Value
    End If

    For i = 1 To UBound(arr, 1)
    arr(i, 1) = Replace(arr(i, 1), Chr(160), "")
    Next i

    rng.Value = arr

    For Each xCell In Selection
    xCell.Value = xCell.Value
    Next xCell

  • #20368384

    törölt tag

    válasz qwertly #27512 üzenetére

    Nézet Fül
    Közepe táján: "Panelek Rögzítése" / "Felső sor rögzítése".

Új hozzászólás Aktív témák