Makro: was eine zahl senkrecht in zellen aufteilt

Mitglied: semper

semper (Level 1) - Jetzt verbinden

11.01.2021 um 11:08 Uhr, 323 Aufrufe, 8 Kommentare, 2 Danke

Hallo Leute,

Ich weiss das der Titel sehr verwirrend ist und ja es ist sehr kompliziert.

Ich versuche es zu erklären.

Ich bekomme eine xml datei wo input/output einer maschine aufgezeichnet werden.

Im grunde besteht das aus den Zahlen 1 - 10 vertikal geschrieben. (warum auch immer das so programmiert wurde)

1 5 usw...
2 2
3 1
4 5
5 3
6 1
7 10
8 1
9 6
10 2

die Zahl sagt jedes mal aus wann ein Input stattgefunden hat. alles davor war ein output.
Jetzt muss ich zwecks Statisik und evaluierung was wiederum von einem anderen Programm benötigt wird die Zahlen in o (output) und i (input) aufsplitten

Beispiel:
i = Input
o= output

1 2 3 4 5 6 usw...

i o o o o o
i o o o o
i o o o
i o o
i o
i

Bis jetzt kopiere ich die Zahlen in eine Excel Datei und muss händisch jede dieser Zeilen manuell umschreiben
Beispiel:

1
2
3
4
5

ist:

i
o
i
o
o
i
o
o
o
i
o
o
o
o
i

Gibt es ein Makro was das für mich machen kann. Das ich nur in einem Excel Blatt die Zahlen reinkopiere (zb.A-Z) und in einem anderen Blatt es auf (A-Z) in i-o umwandelt? (siehe bild)

input-output1 - Klicke auf das Bild, um es zu vergrößern
input-output2 - Klicke auf das Bild, um es zu vergrößern

LG
Mitglied: Lochkartenstanzer
11.01.2021 um 12:17 Uhr
Zitat von semper:

Ich versuche es zu erklären.

Moin,

ich zumindest habe nicht verstanden, wie aus den Zahlen i und o werden (sollen). Versuch es mit einer besseren Erklärung.

lks
Bitte warten ..
Mitglied: semper
11.01.2021 um 13:39 Uhr
Hallo Lochkartenstanzer,

Ich versuche es:

siehe Bild unten:

In Spalte A stehen mehrere Zahlen

3
2
1
1
5
2

Jetzt muss ich diese zahlen in outputs und inputs aufteilen. Das heißt die Zahlen geben immer an wann der Input stattgefunden hat und alles davor war ein output.

Die 3 hat 2x Output und 1 x Input am ende also (o o i)
Die 2 hat 1x Output und 1 x Input also (o i)
Die 1 hat keinen Output sondern gleich einen Input also (i)
Die 5 hat 4 x Output und 1 x Input also (o o o o i)
usw..

Sprich wenn auf Blatt1 A1 eine 3 steht
soll am anderen Blatt2 :
A1=o
A2=o
A3=i
stehen und Blatt1 A2=2 wird gleich drangehängt:

A1=o <--- Anfang von 3
A2=o
A3=i <---3 Ende von 3
A4=o <--- Anfang von 2
A5=i <--- Ende von 2
usw....

input-output3 - Klicke auf das Bild, um es zu vergrößern
zb:
das Makro sollte schauen was für eine zahl in Blatt 1 A1 steht und danach in die nächst freie zelle in Blatt 2 Spalte A suchen und für eine 2 zb. ein o schreiben danach eines hinunter und ein i schreiben.Wenn das fertig ist in die nächste zelle schauen was das für eine Zahl ist und wieder gleich in der nächst leeren zelle wieder reinschreiben.

Ich hoffe ich habe das besser erklärt?
Bitte warten ..
Mitglied: 147069
147069 (Level 1)
11.01.2021, aktualisiert um 17:13 Uhr
Bitte warten ..
Mitglied: semper
11.01.2021 um 13:54 Uhr
Danke bluewonder für den Code:

Leider bekomme ich eine Fehlermeldung das eine variable nicht definiert ist.

Sorry so gut kenne ich mich mit VBA nicht aus

input-output4 - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: 147069
147069 (Level 1)
11.01.2021, aktualisiert um 13:56 Uhr
Hatte eine Variable vergessen zu deklarieren ist oben korrigiert ...
Bitte warten ..
Mitglied: Lochkartenstanzer
11.01.2021 um 14:00 Uhr
Zitat von semper:

Ich hoffe ich habe das besser erklärt?

Ja, jetzt ist es verständlicher.

Bluewonder's skript sollte das tun, was Du willst.

lks
Bitte warten ..
Mitglied: semper
11.01.2021 um 14:38 Uhr
Funktioniert vielen Dank.

2 kleine fragen noch:

1.
bis jetzt funktioniert es nur wenn ich das Makro manuell starte. kann man es einstellen das es sofort wenn man eine Zahl eintippt funktioniert?

2.
War meine schuld habe ich vergessen zu schreiben bei 10 gibt es am Ende kein i sondern nur 10x o (o o o o o o o o o o) . kann man das noch irgendwie einstellen?


Mit dem ist mir schon sehr geholfen vielen dank.
Bitte warten ..
Mitglied: 147069
147069 (Level 1)
11.01.2021, aktualisiert um 16:48 Uhr
Zitat von semper:
1.
bis jetzt funktioniert es nur wenn ich das Makro manuell starte. kann man es einstellen das es sofort wenn man eine Zahl eintippt funktioniert?
Ja. Nimmst du das Worksheet_Change Event dafür
Der Rest ist Hausaufgabe damit du auch noch deine grauen Zellen etwas in Wallung bringst.
2.
War meine schuld habe ich vergessen zu schreiben bei 10 gibt es am Ende kein i sondern nur 10x o (o o o o o o o o o o) . kann man das noch irgendwie einstellen?
Dann hast du die Zelle als Text formatiert anstatt Zahl, denn als Zahl funktioniert es problemlos. Habe oben aber noch zusätzlich eine explizite Umwandlung der Werte in einen Integer eingebaut.
Bitte warten ..
Heiß diskutierte Inhalte
Wünsch Dir was
Das ist ja nicht auszuhalten, dass ich für jeden googlen soll
NordicMikeVor 15 StundenAllgemeinWünsch Dir was22 Kommentare

Ich beantrage, dass bei jeder Beitragserstellung eine Checkbox angeklickt werden muss, mit dem Text: Ja, ich habe bereits danach gegoogelt. Ansonsten soll der "Senden" ...

Rechtliche Fragen
Adobe Flash erneut aktivieren, IT-Sicherheit + Datenschutz
anteNopeVor 1 TagFrageRechtliche Fragen14 Kommentare

Hallo zusammen, ich weiß es ist noch nicht Freitag aber mir ist hier gerade die Kinnlade bis in den Keller gefallen. Opel (ja der ...

Windows 10
Wie kann ich mehrere PCs gleich aufsetzten (mit User)
dressaVor 1 TagFrageWindows 1010 Kommentare

Hallo miteinander. Wie kann ich mehrere PCs (über 200) gleich aufsetzten. Ich habe etwa 4 Modele die sich nur von der Baugeneration unterscheiden. Also ...

Flatrates
Mobilfunktarife für die Firma (günstig)
gelöst ingo1988Vor 1 TagFrageFlatrates13 Kommentare

Hallo, kann mir jemand weiterhelfen im Bezug auf Mobilfunktarife für Unternehmen? Ich suche nämlich günstige Angebote im Telekom oder Vodafone Netz, ähnlich wie Lidl ...

Microsoft
Wie verteilt Ihr Software im AD auf die Clients? GPO?
Der-PhilVor 1 TagFrageMicrosoft14 Kommentare

Hallo! Die Kernfrage steht eigentlich schon im Titel: Wie verteilt ihr Software und haltet sie aktuell auf den Clients? Bislang mache ich das alles ...

Hardware
Homelab - Gebrauchte Server Hardware?
gelöst kernl33Vor 18 StundenFrageHardware16 Kommentare

Hallo zusammen, ich plane mir für mein Homelab einen 19 Zoll Server (2-4HE) anzulegen, es soll ein Hypervisor mit diversen VMs laufen. Hier zu ...

Cloud-Dienste
Server über zwei WAN Leitungen mit Load Balancing verfügbar machen
tobitobsnVor 1 TagFrageCloud-Dienste13 Kommentare

Moin zusammen, ich plane, einen Server im WAN über zwei Leitungen (Kabel und DSL) zwecks Ausfallsicherheit und Load Balancing verfügbar zu machen. Es sind ...

Festplatten, SSD, Raid
SATA Treiber für HP
ben1300Vor 11 StundenFrageFestplatten, SSD, Raid15 Kommentare

Hallo zusammen, ich habe einen PC von HP (Seriennummer: CZC3475D5D) Wollte hier Windows 7 Prof. installieren - es fehlt der SATA Treiber Leider kann ...