Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
444to448
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
444to448
444to448
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Übertrag GPS-Daten von Blatt 1 auf Blatt 2 mit Umf

Übertrag GPS-Daten von Blatt 1 auf Blatt 2 mit Umf
28.06.2004 08:35:02
Blatt
Hallo zusammen,
ich stehe vor folgenden Problemen:
1.) Das gelogte Protokoll meines GPS-Empfänger weist viele Daten auf, die für
mich nicht relevant sind. Ich möchte daher die relevanten Daten aus dem
Protokoll auslesen (Blatt 1) und geordnet im Blatt 2 darstellen. Aus den
Forumsbeiträgen habe ich schon etliche hilfreiche Informationen gezogen,
allerdings fehlt mir noch der letzte Hinweis.
Im GPS-Protokoll sind die für die Selektion wichtigen Informationen in Spalte A auf Blatt 1 ("original") indiziert.
Ich habe nun ein Makro das zeilenweise Blatt 1, Spalte A durchsucht (s.u.) und die relevanten
Daten auf Blatt 2 ("test") überträgt:
For rwindex = 1 To 50000
With Worksheets("original").Cells(rwindex, 1)
Select Case .Value
Case "$GPVTG"
Worksheets("test").Cells(rwindex, 5).Value = Worksheets("original").Cells(rwindex, 8).Value
Case "$GPGGA"
Worksheets("test").Cells(rwindex - 1, 3).Value = Worksheets("original").Cells(rwindex, 3).Value
Worksheets("test").Cells(rwindex - 1, 4).Value = Worksheets("original").Cells(rwindex, 5).Value
Worksheets("test").Cells(rwindex - 1, 6).Value = Worksheets("original").Cells(rwindex, 10).Value
Worksheets("test").Cells(rwindex - 1, 1).Value = Worksheets("original").Cells(rwindex, 2).Value
Worksheets("test").Cells(rwindex - 1, 7).Value = Worksheets("original").Cells(rwindex, 8).Value
Worksheets("test").Cells(rwindex - 1, 8).Value = Worksheets("original").Cells(rwindex, 9).Value
End Select
End With
Next rwindex
Das Problem ist nun wenn Blatt1, Spalte A weder "$GPVTG" noch "$GPGGA" enthält wird in Blatt 2 entsprechend
der Zeile eine Leerzeile eingefügt. Die kann ich zwar wieder mit einem Makro löschen, was sich allerdings als
sehr zeitaufwendig darstellt und sicherlich nicht die optimale Lösung ist.
Daher die Frage ob von Euch jemand eine Lösung bereit hat, die die Erstellung einer Leerzeile in Blatt 2 verhindert,
wenn Spalte A in Blatt 1 weder "$GPVTG" noch "$GPGGA" enthält, d.h. einfach die entsprechende Zeile überspringen und
in der nächstfolgenden Zeile die das Argument "$GPVTG" oder "$GPGGA" enthält fortfahren.
2.) Die Daten im GPS-Protokoll liegen teilweise unformatiert vor. Beim Übertragen möchte ich nun in
einem Schritt die Daten übertragen und gleichzeitig formatiert darstellen. Dies betrifft hautpsächlich
die Daten, die die Uhrzeit und die Koordinaten enthalten:
Uhrzeit: IST-Formatierung: "154300,7350" SOLL-formatierung: "15:43:00"
Koordinaten: IST-Formatierung: "4824,6766" SOLL-formatierung: "N 48°24'41""
"ggmm,ssss" (wobei die Sekunden sich aus 60*0,ssss errechnen)
Ich würde mich freuen wenn mir von Euch jemand weiterhelfen kann, da die VBA bzw. Excel-Hilfe diesbezüglich
leider nicht viel Informationen bereithält.
Vielen Dank,
Grüße Gunnar

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Übertrag GPS-Daten von Blatt 1 auf Blatt 2 mit Umf
Blatt
Hallo Gunnar!
Das erste Problem lässt sich lösen, indem du den Zeilenzähler
nur hochzählst, wenn Daten übertragen wurden.

Sub test()
Dim rwindex As Long
Dim lngRow As Long
lngRow = 1
For rwindex = 1 To 50000
With Worksheets("original").Cells(rwindex, 1)
Select Case .Value
Case "$GPVTG"
Worksheets("test").Cells(lngRow, 5).Value = Worksheets("original").Cells(rwindex, 8).Value
lngRow = lngRow + 1
Case "$GPGGA"
Worksheets("test").Cells(lngRow, 3).Value = Worksheets("original").Cells(rwindex, 3).Value
Worksheets("test").Cells(lngRow, 4).Value = Worksheets("original").Cells(rwindex, 5).Value
Worksheets("test").Cells(lngRow, 6).Value = Worksheets("original").Cells(rwindex, 10).Value
Worksheets("test").Cells(lngRow, 1).Value = Worksheets("original").Cells(rwindex, 2).Value
Worksheets("test").Cells(lngRow, 7).Value = Worksheets("original").Cells(rwindex, 8).Value
Worksheets("test").Cells(lngRow, 8).Value = Worksheets("original").Cells(rwindex, 9).Value
lngRow = lngRow + 1
Case Else
End Select
End With
Next rwindex
End Sub

Zum Formatieren könntest du für die entsprechenden Zellen
diese Codes verwenden.
Das müsstest du an entsprechender stelle in den anderen Code
einbauen.

Sub formatierenZeit()
Dim val As Long
val = Left(([A1]), 6)
[B1] = CDate((Left(val, 2) / 24) + (Mid(val, 3, 2) / 1440) + (Right(val, 2) / 3600))
End Sub


Sub formatierenGrad()
Dim val As String
val = Right("0000000000" & [A1], 10)
[B1] = "N " & Left(val, 3) & "°" & Mid(val, 4, 2) & "'" & Round((val - Int(val)) * 60, 0) & "''"
End Sub

Gruß Sepp
Anzeige
zu Frage 1
GerdZ
Hallo Gunnar,
nimm für die Zeilennummern im 2. Blatt eine eigene Variable. z.B.
ZielIndex = 0
For rwindex = 1 To 50000
With Worksheets("original").Cells(rwindex, 1)
Select Case .Value
Case "$GPVTG"
ZielIndex = ZielIndex + 1
Worksheets("test").Cells(rwindex, 5).Value = Worksheets("original").Cells(ZielIndex, 8).Value
Case "$GPGGA"
ZielIndex = ZielIndex + 1
Worksheets("test").Cells(rwindex - 1, 3).Value = Worksheets("original").Cells(ZielIndex, 3).Value
Worksheets("test").Cells(rwindex - 1, 4).Value = Worksheets("original").Cells(ZielIndex, 5).Value
Worksheets("test").Cells(rwindex - 1, 6).Value = Worksheets("original").Cells(ZielIndex, 10).Value
Worksheets("test").Cells(rwindex - 1, 1).Value = Worksheets("original").Cells(ZielIndex, 2).Value
Worksheets("test").Cells(rwindex - 1, 7).Value = Worksheets("original").Cells(ZielIndex, 8).Value
Worksheets("test").Cells(rwindex - 1, 8).Value = Worksheets("original").Cells(ZielIndex, 9).Value
End Select
End With
Next rwindex

Gruß
Gerd
Anzeige
Danke für die schnelle Hilfe
28.06.2004 09:43:58
gunnar
Hallo Josef, hallo Gerd,
danke für die schnelle Hilfe und die Tips. Ich werde heute abend
die Hinweise ausprobieren und Euch morgen das Ergebnis mitteilen.
Grüße Gunnar

240 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige