2012-04-02 4 views
1

mein Hintergrund ist in C/C++ ... Ich bin immer noch ziemlich neu in VBA, also bitte verzeih mir. Ich ziehe Breitenangaben in eine Excel-Tabelle aus einer Datenbank, aber ich bekomme eine unerwünschte Dezimalzahl. Unten ist ein Fragment, das ich aus der Tabelle kopiert habe.Zeilen analysieren und ein Delimiter oder Token bedingt löschen

Beispiel ungültiger Daten (Einfügen eine Dezimalzahl nach der Minute-Wert, ich will nicht):

  • 38'5.'48.189
  • 38'5.'48.023
  • 38' 5.'48.023
  • 38'5.'48.023

Beispiel einige gültige Daten:

  • 38'10'51.881
  • 38'10'51.881
  • 38'10'51.881
  • 38'10'52.000
  • 38'10'52.000
  • 38'10'52.000

Wie kann ich Zeile für Zeile durchgehen und alle löschen, die ich nicht will? Beachten Sie, dass ich die tatsächlichen Dezimalstellen der Sekundenwerte beibehalten möchte. Diese Daten werden in Spalte K meiner Tabelle gespeichert.

Edit: Ich weiß, dass ich in eine .csv konvertieren kann und ich weiß, wie man ein Programm in C++ schreibt, das dies tun wird, aber ein VBA-Skript wäre der Einfachheit halber großartig. Vielen Dank!

+0

Wie ziehen Sie diese Daten in Excel? –

+0

kommt es von einer Microsoft Access-Datenbank. Ich habe den Code für die Datenbank nicht geschrieben, also bin ich mir nicht sicher, ehrlich zu sein. Idealerweise würde ich gerne gehen und das auf der Datenbankseite beheben, aber das wird viel mehr Zeit für mich brauchen, um zu lernen. –

Antwort

1

Treffen Sie Ihre Wahl :)

ich, dass die Daten in Spalte gehe davon aus A

Paste diese in Zelle B1

Mit einer Excel-Formel ist und es abschreiben.

=REPLACE(A9,FIND(".'",A9,1),2,"'") 

VBA

ersetzen Sheet1 mit dem entsprechenden Blatt.

Sheets("Sheet1").Replace What:=".'", Replacement:="'", LookAt:=xlPart, _ 
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False 

HTH

Sid

+0

Danke! Ich musste nur eine kleine Änderung vornehmen: '= IF (ISNUMBER (FIND (". '", K2,1)), ERSETZEN (K2, FIND (".' ", K2,1), 2," '") , K2) 'Auf diese Weise gibt es keine ungültigen Excel-Daten aus, wenn es". "Nicht findet." –

Verwandte Themen