Excel Programmierung

01/21/2015 10:23 Flogolo#1
Hallöchen,

ich stehe vor folgender Herrausforderung:

Zu Kontrollzwecken führt meine Firma eine Excel-Tabelle mit "Seriennummern" von verkauften Tickets.

Diese werden momentan manuell eingegeben, dies möchte ich aber via Formular-Eingabe vereinfachen.

Nun meine Problematik:
Wie schreibe ich die Funktion für das Eingabeforumlar, das er die richtige Zelle bei der Eingabe auswählt?

Also das er angenommen bei der Eingabe "37" automatisch die Zelle die für 37 vorgesehen ist anspielt?

Die Nummern sind in den Zeilen nach 10er Schritten sortiert, also Bsp:

vonbis12345678910
11012345678910
11201112  15161718 20
2130          
3140          
4150          

Und wäre diese Eingabe auch mit doppelten Werten möglich? Also das dann Wert 1 und Wert 2 zusätzlich zur eingelesen werden mit einem Radio-Button?

Anzeigebeispiel:
vonbis1122334455usw.
  1212121212usw.
11011223 4 55 
11201111 12 131414   
2130           
3140           

Hoffe die Erklärung war nicht zu irreführend und es gibt Möglichkeiten soetwas umzusetzen.

Viele Grüße

Flogolo
01/21/2015 21:36 Critone#2
Leider kann ich dir bei deinem Problem nicht helfen.
Ich würde dir bzw. der Firma in der du arbeitest aber raten diese Aufgabe mithilfe einer Datenbank zu lösen. Das ist wesentlich einfacher, effektiver und vor allem weniger Aufwand.
01/22/2015 13:00 Flogolo#3
Würde ich ja, aber die haben von Technik null Ahnung. Und diese besagte Tabelle verfügt über mehrere hunderttausend Einträge. Der Aufwand alles zu übertragen wäre wesentlich höher als diese Funktion zu schreiben.

Ich habe gestern etwas von einer Select Case Funktion gelesen, denke die wäre da zutreffend.

Iwie so: selcas if(last letter = 1 then use row B)
Und das er dann nur noch die Werte absteigend nach Seriennummer erkennen muss
01/31/2015 23:47 xEncounter#4
Firmen die so viele Datensätze haben und mit Excel arbeiten :mad:

Ich weiß nicht inwiefern du da was ändern darfst, aber empfehlen würde ich dir die excel tabelle zu konvertieren in eine .csv Datei und diese dann mit php auszulesen,bearbeiten etc.

Wenn man immer noch excel haben will, kann diese .csv auch wieder in dieses Format umkonvertieren.

Ansonsten habe ich noch was mit VBA gelesen, aber hm.


#edit es ist auch möglich das ganze in eine datenbank zu importieren([Only registered and activated users can see links. Click Here To Register...])
02/09/2015 00:23 -Shinichi#5
Konvertier diese Excel-Datei
02/09/2015 04:59 warfley#6
Ich weiß dieser Thread ist schon etwas älter, es könnte gut sein, dass der TE gar nicht mehr nach einer Lösung sucht, aber ich gebe dennoch meinen Senf dazu.
Zunächst mal, Leute ist es nicht egal warum die Firma das so macht? Es wird schon seine Gründe geben. So ist nunmal die Situation und das Problem muss entsprechend gelöst werden.

Ich konnte jetzt nicht Rauslesen welche Programmiersprache du nutzen willst. Am einfachsten wäre wohl VBA für Makros zu verwenden. Willst du eine Unabhängige Software schreiben kannst du dass Excel Ole Objekt nutzen ([Only registered and activated users can see links. Click Here To Register...])

Die Reihe ermittelst du via Zahl Div 10 (Wobei div für Ganzzahl division ohne Rest steht). Die entsprechende Zahl musst du dann nur noch in einen Buchstaben umwandeln (z.B. Chr(65+Reihennummer) gibt für reihe 0 bis 25 die Buchstaben A bis Z zurück)
Die Spaltennummer ist dann Zahl Modulo 10.

Das ist jetzt natürlich alles nur sehr grob, da ich selbst auch sehr lange weder mit Excel noch mit VBA gearbeitet habe.
02/10/2015 08:12 Mostey#7
Quote:
Originally Posted by warfley View Post
Ich weiß dieser Thread ist schon etwas älter, es könnte gut sein, dass der TE gar nicht mehr nach einer Lösung sucht, aber ich gebe dennoch meinen Senf dazu.
Zunächst mal, Leute ist es nicht egal warum die Firma das so macht? Es wird schon seine Gründe geben. So ist nunmal die Situation und das Problem muss entsprechend gelöst werden.

Ich konnte jetzt nicht Rauslesen welche Programmiersprache du nutzen willst. Am einfachsten wäre wohl VBA für Makros zu verwenden. Willst du eine Unabhängige Software schreiben kannst du dass Excel Ole Objekt nutzen ([Only registered and activated users can see links. Click Here To Register...])

Die Reihe ermittelst du via Zahl Div 10 (Wobei div für Ganzzahl division ohne Rest steht). Die entsprechende Zahl musst du dann nur noch in einen Buchstaben umwandeln (z.B. Chr(65+Reihennummer) gibt für reihe 0 bis 25 die Buchstaben A bis Z zurück)
Die Spaltennummer ist dann Zahl Modulo 10.

Das ist jetzt natürlich alles nur sehr grob, da ich selbst auch sehr lange weder mit Excel noch mit VBA gearbeitet habe.
VBA ist veralteter Mist und grauenhaft.

Lieber etwas zeitkonformes wie [Only registered and activated users can see links. Click Here To Register...] nutzen, dass man mit .NET verwenden kann.