online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Wetterigel vom 14.09.2022, 20:23 Options

Excel 2010 Filter Komma Punkt Einstellung

Hallo

Bin Anfänger in VBA.

Habe win 7 64 Bit Betriebssystem mit Excell 2010.
Mein Problem liegt im filtern von Zahlen mit Komma.
Mein Makro kontrolliert die gesuchte Zahl zuerst, ist sie vorhanden gehts weiter mit dem Filter.
Die Zahl wird automatisch eingetragen, erscheint jedoch im Filter mit Punkt anstelle Komma.
Das Ergebnis ist somit negativ.
Kontrolliert man die übernommene Werte im Makro so entsprechen sie dem gewünschtem Suchwert.
Tauscht man im Filter den Punkt zu Komma erscheinen auch die richtigen Zeilen.
Wo liegt die Ursache, dass im Filter ein Punktwert eingetragen wird.
Bei einem Test in Excel 2007 ist auch der Punktwert eingetragen im Filter, jedoch kommen dort _
die Zeilen mit Kommawerte wie es gewünscht wird.<pre>

Sub Zuanbaulist()
Dim Wert As Integer

ZUCODE = [tabelle2!A8]

Sheets("Tabelle1").Select
ActiveSheet.Unprotect
'Kontrole Anfang
Set Rng = Columns(1).Find( _
what:=ZUCODE, lookat:=xlWhole, LookIn:=xlFormulas)
If Rng Is Nothing Then
Beep
MsgBox "Eine Bearbeitung wurde nicht gefunden!", 64, "Infomeldung zur Bearbeitung"

Exit Sub
End If


Sheets("Tabelle1").Select

Range("A1").Select

Range("A1:P10000").Select
Selection.AutoFilter

Selection.AutoFilter Field:=1, Criteria1:=[ZUCODE]

Range("I2:P10000").Select
Selection.Copy

End Sub</pre>

Vielen Dank im Voraus für Eure Hilfe.

MfG Hubert


Antwort schreiben

Antwort 1 von Beverly vom 15.09.2022, 20:38 Options

Hi Hubert,

meines Erachtens hat dein Code einen Fehler: ZUCODE ist im oberen Teil eine Variable, die nicht definiert ist und im unteren Teil eine Zelldresse in der aktuellen Tabelle.
Du hast nicht geschrieben, welche Ofiice-Version du verwendest - 32 oder 64 bit.

Bis später,
Karin

Antwort 2 von Wetterigel vom 15.09.2022, 22:09 Options

Hallo Karin

Danke für Deine Antwort.

Es handelt sich um die 64 Bit Version Office 2010.

Das Makro ist nur der Bereich indem Excel mir schwierigkeiten bereitet.

Im Makro kan man den Werte nachverfolgen, der nacher in den Filter eingesetzt und benuzt werden muß. Leider steht dort nicht wie benötigt 2009,0010 sondern 2009.0010
Somit filtert Excel nicht nach meinem Wunsch (Bedarf).


In Tabelle1 stehen in Spalte A Zahlen
2009,0010
2009,0012
2009,0013
2009,0010
2009,0010


In Tabelle2 steht in Zelle A8 mein zu benutzender Filterwert zb.2009,0010

Nach benutzung des Makros sollten alle Zeilen mit 2009,0010 zur weiteren beabeitung bereit stehen.

In Excel 2007 steht in der Filterauswahl 2009.0010 jedoch werden die Zeilen mit 2009,0010 angezeigt (wie gewünscht).

In meinem Excel 2010 steht in der Filterauswahl ebenfalls der Wert 2009.0010 jedoch stehen keine Zeilen zur weiteren bearbeitung bereit, weil der Filterwert 1 zu 1 übernommen wird.

Wie kann man Excel 2010 dazu bringen gleich zu handeln wie Excel2007

In beiden Versionen wird das Trennzeichen vom Betriebssystem übernommen.
Dezimalstelle = Komma
Tausendertrennzeichen = Punkt

Tastatur Deutsch Deutschland

mir fallen momentan keine weiteren Einstellmöglichkeiten ein.


Mit freundlichem Gruß
Hubert

Antwort 3 von nighty vom 16.09.2022, 10:45 Options

hi hubert :-)

probier mal :-)

gruss nighty

Sub Zuanbaulist()
    Dim Rng As Range
    With Worksheets("Tabelle1")
        .Unprotect
        Set Rng = .Columns(1).Find(what:=Worksheets("Tabelle2").Range("A8"), lookat:=xlWhole, LookIn:=xlFormulas)
        If Rng Is Nothing Then
            Beep
            MsgBox "Eine Bearbeitung wurde nicht gefunden!", 64, "Infomeldung zur Bearbeitung"
        Else
            .Range("A1:P10000").AutoFilter Field:=1, Criteria1:=Worksheets("Tabelle2").Range("A8")
            .Range("I2:P10000").Copy    'nicht zu vergessen das hier alle eigenschaften einer zelle mitkopiert werden
        End If
    End With
    .Protect
End Sub  

Antwort 4 von Wetterigel vom 16.09.2022, 20:55 Options

Hallo nighty


Vielen Dank für Deine Antwort.

Dein Makro enthält inhaltlich meine Gewünschtes Ziel, jedoch verhält sich Excel 2010 genau gleich wie bei meinem Makro.
Siehe nochmal meine Beschreibung vom 15.09.2010


MfG Hubert

Antwort 5 von nighty vom 17.09.2022, 09:54 Options

hi hubert :-)

alternativ zum autofilter,probier mal

gruss nighty

Option Explicit
Sub Einfuegen()
    Dim Disa As Boolean, Scup As Boolean, Enec As Boolean
    Dim Calc As Integer
    Dim Lzeile As Long, DatNeuIndex As Long, ZeilenIndex As Long, SpaltenIndex As Long, SpalteIP As Long
    Dim SuchZelle As Double
    With Application
        Disa = .DisplayAlerts
        Scup = .ScreenUpdating
        Enec = .EnableEvents
        Calc = .Calculation
        .DisplayAlerts = False
        .ScreenUpdating = False
        .EnableEvents = False
        .Calculation = xlCalculationManual
    End With
    On Error GoTo EndeMakro
    Lzeile = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
    ReDim SpalteAP(1 To Lzeile, 1 To 16) As Variant
    ReDim DatNeu(1 To Lzeile, 1 To 8) As Variant
    Worksheets("Tabelle1").Activate
    SpalteAP() = Range("A1:P" & Lzeile)
    SuchZelle = Worksheets("Tabelle1").Cells(1, 1).Value
    DatNeuIndex = 1
    For ZeilenIndex = 1 To Lzeile
        For SpaltenIndex = 1 To 16
            If SpalteAP(ZeilenIndex, SpaltenIndex) = SuchZelle Then
                For SpalteIP = 9 To 16
                    DatNeu(DatNeuIndex, SpalteIP - 8) = SpalteAP(ZeilenIndex, SpalteIP)
                Next SpalteIP
                DatNeuIndex = DatNeuIndex + 1
                Exit For
            End If
        Next SpaltenIndex
    Next ZeilenIndex
    Worksheets("Tabelle2").Activate
    Range(Cells(1, 1), Cells(Lzeile, 8)).Resize(UBound(DatNeu())) = DatNeu() 'position der gefilterten daten
EndeMakro:
    With Application
        .DisplayAlerts = Disa
        .ScreenUpdating = Scup
        .EnableEvents = Enec
        .Calculation = Calc
    End With
End Sub  

Antwort 6 von nighty vom 17.09.2022, 09:58 Options

hi all :-)

zum autofilter problem

keine überschrift ?
keine löschung des kreteriums ?

könnten fehler auslösen,muessen aber nicht :-))

gruss nighty

Antwort 7 von Beverly vom 17.09.2022, 11:31 Options

Hi Hubert,

versuche es mal, indem du die Zahl im Filterkrierium in einen String umwandelst (Basis ist nighty's Code):

Sub Zuanbaulist()
    Dim Rng As Range
    With Worksheets("Tabelle1")
        .Unprotect
        Set Rng = .Columns(1).Find(what:=Worksheets("Tabelle2").Range("A8"), lookat:=xlWhole, LookIn:=xlFormulas)
        If Rng Is Nothing Then
            Beep
            MsgBox "Eine Bearbeitung wurde nicht gefunden!", 64, "Infomeldung zur Bearbeitung"
        Else
            .Range("A1:P10000").AutoFilter Field:=1, Criteria1:=CStr(Worksheets("Tabelle2").Range("A8"))
            .Range("I2:P10000").Copy    'nicht zu vergessen das hier alle eigenschaften einer zelle mitkopiert werden
        End If
    End With
    .Protect
End Sub  

Bis später,
Karin

Antwort 8 von Wetterigel vom 17.09.2022, 21:32 Options

Hallo Karin, Hallo Nigthy

Danke für Eure Beiträge.

Karins bzw Nigthy`s Makro vom 17.09.2010 hat mein Problem gelöst.
Muss dieses nur noch in meine vorhandene Exceltabell einpflegen.

Criteria1:=CStr(Worksheets("Tabelle2").Range("A8") ist der entscheidende Code.

Ich weiß nur noch nicht was CStr tatsächlich bewirkt.( Zahl = Zeichenfolge?) Bin ja auch Anfänger und muß nicht alles verstehen.
Für solche Fälle gibt es ja solche Foren.

Nochmals Danke für Eure Mithilfe

MfG Hubert

Antwort 9 von Beverly vom 17.09.2022, 21:35 Options

Hi Hubert,

CStr wandelt die Zahl in einen String um - weshalb Excel 2010 das so will, bleibt ein Rätsel - Hauptsache, es funktioniert.

Bis später,
Karin

Antwort 10 von Hajo_Zi vom 18.09.2022, 08:00 Options

Hallo Hubert,

beachte nur das die Zeile
.Protect
vor End With hinkommt.

Gruß Hajo

Antwort 11 von nighty vom 18.09.2022, 08:08 Options

hi hajo :-)

*huch* wenn wir dich nicht hätten :-)

das war jetzt schon das zweite mal innerhalb kurzer zeit :-)))

gruss nighty

Ähnliche Themen

codierung zahlenformat "vom punkt zum komma"
nockenwelle  12.08.2009 - 560 Hits - 2 Antworten

Excel filter als Bedingung für Sverweis?
Apate  31.03.2010 - 336 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026