Clever-Excel-Forum

Normale Version: Zelle auswerten und Ergebnis benutzen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi zusammen,
mein Kollege und ich haben folgendes Problem...
Hier erst einmal mein Excel-Inhalt (jede Zahl befindet sich in einer anderen Zelle).
  A  B   C  D  E   F  G
61 44 56 43 00 00 0A
41 4D 41 5A 4F 4E 45
20 55 58 14 56 31 2E
30 38 2E 30 31 20 20
20 20 20 20 20 20 20
20 20 20 22 58 80 2B
00 80 0C A0 11 33 30
30 34 37 31 30 34 30
04 09 FF FF 00 CB 00
37 20 56 34 38 30 37
31 02 05 38 00 00 05
0C 64 65 00 00 00 00
FF FF FF FF FF FF FF


Excel soll Zelle G1 von Hex in Dez umwandeln (dies ist kein Problem), in diesem Falle 0A = 10. Jetzt soll Excel diese umgewandelte Zahl in Zellen überspringen, die übersprungenen ebenfalls von Hex in Dez umwandeln (in anderen Zellen wiedergeben) und dann ebenfalls den Wert (in diesem Fall D3) von Hex in Dez umwandeln und dann wieder dieses Ergebnis nehmen und das selbe wie vorher machen.
Heißt in diesem Beispiel:
- G1: 0A = 10 -> zehn Zellen überspringen (und in anderen Zellen wiedergeben) -> dann landen wir bei D3, diese Zelle soll dann auch wieder umgewandelt werden, heißt D3: 14 = 20 -> dann wieder 20 Zellen überspringen (und in anderen Zellen ausgeben) bis D6 (in diesem Fall).

Das Problem ist, dass alles abhängig ist von dem Wert, der in G1 steht. Dadurch dass hier auch ein anderer Hex-Wert drin stehen kann, verschiebt sich dadurch dann auch alles andere.
Steht z.B. 0B in Zelle G1, dann soll die Formel automatisch 11 Zellen überspringen und dann mit dem folgenden Wert weitermachen...

Kann mir von euch einer sagen, wie ich das machen kann?!?
Mein Kollege und ich verzweifeln nämlich schon und sind mit unserem Latein am Ende...

Gruß
Flo
Hallo,

wenn man von G1 die nächsten 10 Zeichen liest, erhält man "Amazon ...".

Falls du den Sinn  so erklärtst, dass ich es interessant finde, versuche ich einen Code zu basteln.

mfg
Hi Fennek,

danke für deine schnelle Antwort.
Diese Excel-Tabelle benötige ich für die Arbeit...und zwar werden diese Nachrichten einem BUS von verschiedenen Geräten gesendet und diese muss ich auswerten.
Mit einer Excel Tabelle geht dieses viel schneller, als wenn ich erst jede einzelne Zeile von Hand auswerten muss. So kann ich mir einfach die Auswertung in anderen Zellen anzeigen lassen und weiß sofort, was das Gerät auf dem Bus macht.

Gruß
Flo
Hallo,

der Code erfordert, dass die Hex-Code ab A1 stehen und die Spalte H leer ist. Der Code sollte auch für große Datenmengen relativ schnell sein (Schätzung: 1 Mio Zeilen unter 1 Minute)


Code:
Dim r As Long, c As Integer
Sub iFen()
On Error GoTo Ende
Dim WSF As WorksheetFunction: Set WSF = Application.WorksheetFunction
Ar = Cells(1).CurrentRegion
With CreateObject("scripting.Dictionary")
r = 1 'row
c = 7 'colums
Do While rr < UBound(Ar)
Anf = WSF.Hex2Dec(Ar(r, c))
Cells(r, c).Interior.Color = vbYellow
Ad = Cells(r, c).Address
   Tx = ""
   For i = 1 To Anf
         Col
   Tx = Tx & Chr(WSF.Hex2Dec(Ar(r, c)))
   Next i
   .Item(Ad) = Tx
   Col
Loop
Ende:
Range("I1").Resize(.Count, 2) = Application.Transpose(Array(.keys, .items))
End With
End Sub
Sub Col()
   c = c + 1
   If c > 7 Then
       r = r + 1
       c = 1
   End If
End Sub


mfg

(feedback wäre angemessen)
Hi,

top!!!! Es funktioniert.

Wir werden diese Formel in unsere Tabelle einbauen und entsprechend anpassen!

Besten Dank!
:23: :23:

Gruß
Flo
Hi Fennek,

kannst du vielleicht noch mal kur erklären, was du bei welchem Schritt genau machst und wieso!?!