# Excel ZULI Step 7 erstellen



## mitchih (9 Februar 2009)

Hallo Leute,

ich habe folgendes Problem:
Ich habe eine ZULI in Excel im .dif Format erstellt. 

Nun wird die Anlage um einige Stationen und E/A`s erweitert.

Da sich die Funktionen nicht ändern und auch die Reihenfolge der E/A`s identisch ist, es kommen noch linien hinzu, wollte ich das mit einfügen ersetzen machen.

Leider nörgelt mein Excel immer Rum Fehler in Formel. Ich habe die Zelle aber als Text formatiert. Das Problem wird sein das mein BMK so aussieht

=PO1+ET30-100B3   bedeutet das es sich in ET mit Adresse 30 um den Eingang 100.3 handelt.

Nun habe ich die ET40 die dann z.B. den 200B3 hat. Nun will ich den Block kopieren und dann durch +ET40-200B3 ersetzen.
Nur klappt das nicht.

Weiß jemand Rat??
Nutze Excel 2003 könnte aber auch open office verwenden.

Bin für jeden Tip dankbar. Spart jede Menge Arbeit ;-)

Wäre Außerdem nicht schlecht wenn Excel ab Bit 7 mit einem neuen Byte anfangen würde. Geht das??


----------



## Oberchefe (9 Februar 2009)

> Wäre Außerdem nicht schlecht wenn Excel ab Bit 7 mit einem neuen Byte anfangen würde. Geht das??


Evtl. mal in oktal wandeln:
DEZINOKT()
Da müssen aber die Analysefunktionen auf dem Rechner installiert sein, klappt also spätestens auf dem nächsten Rechner nicht mehr ohne weiteres.

Ich arbeite bei derartigen Problemen gerne mit den Formeln ("Ersetzen" bzw. "Verketten"). Wenn die Inhalte dann wie gewünscht dastehen "Kopieren", "Inhalte Einfügen", "Werte"

Um eine Text eindeutig als solchen zu Markieren kann ein "'" vorgesetzt werden (Shift und #). Bleibt dann im Excel unsichtbar und sollte dann auch beim Kopieren kein Problem bereiten


----------



## SPSKILLER (9 Februar 2009)

Hallo,

falls du mir traust 

Im Anhang ist ein Excel Macro mit ner Userform, das Byte-Bitadressierung in Excel macht.
Die Anzahl der Bytes, sowie die Startzelle werden über die Userform vorgegeben.

Micha


----------



## sps-concept (9 Februar 2009)

mitchih schrieb:


> Wäre Außerdem nicht schlecht wenn Excel ab Bit 7 mit einem neuen Byte anfangen würde. Geht das??



Hallo, da gibts was bewährtes:
http://raeppel.de/tools/next_bit.htm

André


----------



## Thomas_v2.1 (9 Februar 2009)

sps-concept schrieb:


> Hallo, da gibts was bewährtes:
> http://raeppel.de/tools/next_bit.htm



Ich werd schwach, man kann allenernstes 10 Zeilen Trivial-Excel-VBA-Code verkaufen???

Man gut das es für evtl. vorhandene Programmfehler ein Supportforum gibt.


----------



## sps-concept (9 Februar 2009)

*motzen*



Thomas_v2.1 schrieb:


> Ich werd schwach, man kann allenernstes 10 Zeilen Trivial-Excel-VBA-Code verkaufen???
> 
> Man gut das es für evtl. vorhandene Programmfehler ein Supportforum gibt.



anstatt zu motzen solltest du erstmal lesen. FREEWARE!!!


----------



## Thomas_v2.1 (9 Februar 2009)

sps-concept schrieb:


> anstatt zu motzen solltest du erstmal lesen. FREEWARE!!!



Auf der verlinkten Seite kann man es sich nicht runterladen. Würde mir das natürlich gerne mal ansehen


----------



## uncle_tom (10 Februar 2009)

Hallo,

ich bin auf 20 - Zeilen VBA-Code gekommen (von den Kommentaren mal abgesehen) ;-)




```
Function NextBit(z As String) As String        'Naechstes Bit ermitteln ggf. Byteadresse hochzählen

Dim Typ As String
Dim ByteAdr As String
Dim BitAdr As String
Dim Punkt As Integer
Dim Laenge As Integer
Dim Bytelaenge As Integer


'Typ ermitteln (E,A,M, etc.)
Typ = Left(z, 1)

'Laenge des Eingabestrings ermitteln
Laenge = Len(z)

'ermitteln welche Stelle im Eingabestring der "." belegt
Punkt = InStr(1, z, ".", 1)

'Bitadresse herausziehen
BitAdr = Right(z, Laenge - Punkt)

'Byteadresse herausziehen (Gesammte Länge - 2 - Bitlänge --> Bytelänge)
Bytelaenge = Laenge - 2 - (Laenge - Punkt)
ByteAdr = Mid(z, 2, Bytelaenge)

'Check Bit-Adresse
If BitAdr = 7 Then
    ByteAdr = ByteAdr + 1
    BitAdr = 0
Else
    BitAdr = BitAdr + 1
End If

'Ausgabe neue Adresse
NextBit = Typ & ByteAdr & "." & BitAdr


End Function
```


----------

