WinFuture-Forum.de: Excel, Brauche Hilfe Bei Vba-code - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Office 2007
Seite 1 von 1

Excel, Brauche Hilfe Bei Vba-code


#1 Mitglied ist offline   Speedyfree 

  • Gruppe: aktive Mitglieder
  • Beiträge: 752
  • Beigetreten: 14. Mai 04
  • Reputation: 0

geschrieben 07. Dezember 2006 - 21:56

Hallo Leute,
ich brauche mal wieder eure Hilfe.
Ich habe (Excel 2003) ein Rechnungsformular, womit selbst erstellte Rechnungen geschrieben und ausgedruckt werden. Hier hab ich mit folgender VBA-Code eine Zelle, in der die Rechnungs Nr. per Klick auf einen Commandbutton, hoch bzw. zweiten Commandbutton runter gezählt wird. In diese Zelle kann man also eine Beliebige Zahl eingeben, welche dann sozusagen übernommen und hoch oder runter gezählt wird.
Private Sub CommandButton1_Click() 'Rechnungs Nr +1
Cells(7, 6) = Cells(7, 6) + 1
End Sub

Private Sub CommandButton3_Click() 'Rechnungs Nr -1
Cells(7, 6) = Cells(7, 6) - 1
End Sub

Nun hat sich die Firma an die diese Rechnungen geschrieben wird, entschieden dass die Rechnungsnummer nicht einfach nur ne Zahl darstellen, sondern folgendes Format haben soll.

"Fa. Name / Rechn Nr. / Jahr"

Ich könnte es natürlich mit mehreren Zellen machen, aber da versaue ich mir die ganzen anderen Zellbezüge und Formate.
Und in VBA bin ich nicht gerade die hellste Leuchte. Einfache sachen schaffe ich noch aber hier bin ich machtlos.

Also um es nochmal zu verdeutlichen:
In Zelle F7 ist im Augenblick nur ne einfache Zahl welche bei klick auf Commandbutton, hoch bzw. runter gezählt wird.
Jetzt soll sie "Fa. Name / Rechn Nr. / Jahr" darstellen. Wobei bei Command- klick nur die Rechn Nr. hoch bzw. runter Zählen soll. Und der/n rest in obigen Format einfach in die Zelle eingetragen werden können muß.
Hoffentlich gibts ne Lösung hierfür.

Please Help <_<

Edit:
Ups, jetzt bin ich bei office 2007 gelandet. @Stan, Bitte nach office 2003 verschieben.

Dieser Beitrag wurde von Speedyfree bearbeitet: 07. Dezember 2006 - 22:09

0

Anzeige



#2 Mitglied ist offline   sn00b 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.242
  • Beigetreten: 07. November 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 08. Dezember 2006 - 00:30

hi, kannst du die excel tabelle als beispiel uppen? alle daten könne entfernt und durch muster ersetzt werden!
in welscher zelle steht die firma und das jahr?
wäre es nicht einfacher (praktikabler) in einer extra zelle den ausdruck "Fa. Name / Rechn Nr. / Jahr" darzustellen und die rechnungsnummer paralel laufen zu lassen?
es könnte auch funktionieren wenn man die zelle wo die rechnungsnummer steht ausblenden würde! läst sich aber alles schlecht erklären bzw. testen wenn man kein beispiel hat!
0

#3 Mitglied ist offline   Speedyfree 

  • Gruppe: aktive Mitglieder
  • Beiträge: 752
  • Beigetreten: 14. Mai 04
  • Reputation: 0

geschrieben 08. Dezember 2006 - 01:27

@Master.Max

Zitat

wäre es nicht einfacher (praktikabler) in einer extra zelle den ausdruck "Fa. Name / Rechn Nr. / Jahr" darzustellen und die rechnungsnummer paralel laufen zu lassen?
richtig, aber die ganzen anderen Formate und Zellbezüge kommen dabei durcheinander. Das wollte ich halt vermeiden.

Ich lade hier mal eine Stark abgespeckte Tabelle Up. Bitte nicht wundern, in dieser Mappe sind mehrere Tabellen enthalten welche Artikel Nr'n Prozentsätze usw. enthält, wovon verschiedene Formeln ihre Bezüge hernehemen. Es kommt eventuell zu diversen Fehlermeldungen. Diese muß ich leider entfernen da sie der Öffentlichkeit nicht Preis gegeben werden dürfen. Angehängte Datei  Rechnung_WF.xls (37K)
Anzahl der Downloads: 169

Thnks <_<
0

#4 Mitglied ist offline   sn00b 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.242
  • Beigetreten: 07. November 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 08. Dezember 2006 - 09:07

hi,
habe mal etwas gebastelt, denke das es zumindest der richtige ansatz ist!
ich habe jetzt einfach mal angenommen das die firma in zelle E2 steht!
der schalter für die rechnungsnummern ist geblieben! (hab ihn nur auf eine andere zelle verschoben!)
das datum (jahr) wird immer vom aktuellen tag genommen!

sollte es noch fragen geben, schreib sie hier rein!

leider passt jetzt aber das layout nicht mehr ganz!

Angehängte Datei(en)


0

#5 Mitglied ist offline   dastriebel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 439
  • Beigetreten: 11. August 06
  • Reputation: 1
  • Wohnort:Schweiz, Breitenbach

geschrieben 08. Dezember 2006 - 10:19

Ein Lösungsansatz, der das Excel-Blatt unverändert lässt und nur deinen VBA-Code ändert
Option Explicit

Private Const Firma As String = "Meine Firma / "

Private Sub CommandButton1_Click()

	Dim lngRechnungsNummer As Long
	
	lngRechnungsNummer = RechnungsNummerExtrahieren(Cells(7, 6))
	
	lngRechnungsNummer = lngRechnungsNummer + 1
	
	Cells(7, 6) = RechnungsNummerZusammensetzten(lngRechnungsNummer)

End Sub

Private Sub CommandButton3_Click()
	Dim lngRechnungsNummer As Long
	
	lngRechnungsNummer = RechnungsNummerExtrahieren(Cells(7, 6))
	
	lngRechnungsNummer = lngRechnungsNummer - 1
	
	Cells(7, 6) = RechnungsNummerZusammensetzten(lngRechnungsNummer)

End Sub

Private Function RechnungsNummerExtrahieren(strZelle As String) As Long

	strZelle = Mid$(strZelle, Len(Firma) + 1)
	strZelle = Left$(strZelle, InStr(1, strZelle, "/", vbBinaryCompare) - 2)
	RechnungsNummerExtrahieren = strZelle
	
End Function

Private Function RechnungsNummerZusammensetzten(lngRechnungsNummer As Long) As String

	RechnungsNummerZusammensetzten = Firma & lngRechnungsNummer & " / " & CStr(Year(Date))

End Function

0

#6 Mitglied ist offline   Speedyfree 

  • Gruppe: aktive Mitglieder
  • Beiträge: 752
  • Beigetreten: 14. Mai 04
  • Reputation: 0

geschrieben 08. Dezember 2006 - 19:27

Beitrag anzeigenZitat (Master.Max: 08.12.2006, 09:07)

hi,
habe mal etwas gebastelt, denke das es zumindest der richtige ansatz ist!
ich habe jetzt einfach mal angenommen das die firma in zelle E2 steht!
der schalter für die rechnungsnummern ist geblieben! (hab ihn nur auf eine andere zelle verschoben!)
das datum (jahr) wird immer vom aktuellen tag genommen!

sollte es noch fragen geben, schreib sie hier rein!

leider passt jetzt aber das layout nicht mehr ganz!

Der Ansatz ist schon mal nicht schlecht. Das Layout lässt sich ja nachträglich anpassen. :D
1. Das kleine Problem: Mehrere Leute Arbeiten mit dieser vorlage. Und sie gewohnt sind einfach ein Klick auf die Zwei Button's, Klick auf Speichern, so dass immer die fortlaufende Rechn. Nr. und Datum in der Vorlage gewärleistet ist. Anschließend die Rechnung geschrieben und in den dafür vorgesehenen Ordner abgespeichert wird.
Wie gesagt, das ist das kleinere Übel. Ich brings den Leuten schon irgendwie bei.

2. Nicht Zelle E2, sondern A11 währe die Richtige.
Mein Fehler war, dass ich nicht ganz Präziese mein Problem geschildert habe. Oder besser gesagt, nicht daran gedacht/besser gewusst hab.
Problem Nr. 2 ist also: Die Firma in der Postanschrift "z.B. Fa. Segmayer" will dass die Rechnungs Nr. so aussieht. Seg / 123 / 2006
Hier müssten wir uns was anderes überlegen. Deine Formel übernimmt ja den ganzen Innhalt der Zelle. Zu Beachten hierbei sind aber auch die (ich will mal sagen) vorsilben, wie z.B. Anton Segmayer, oder Fa. Segmayer usw.
Will damit sagen, dass man diese "Vorsilben" nicht genau deklarieren kann wieviele Zeichen vor dem Hauptnamen stehen und somit nicht abfangen kann. Deswegen meinte ich dass man das "Seg" per hand in diese Zelle (F7) eintippen können muß. Und anschließend der rest durch VBA geregelt wird. Ansonsten Passt es schon Super gut.
Danke dir :)

Beitrag anzeigenZitat (dastriebel: 08.12.2006, 10:19)

Ein Lösungsansatz, der das Excel-Blatt unverändert lässt und nur deinen VBA-Code ändert

Deinen Ansatz konnte ich leider nicht ausführen. Es kommen Fehler z.B. "Laufzeit Fehler Nr. 5" Siehe Bilder.
Habe deinen Code aus der Webseite heraus in den Excel Code reinkopiert. Einmal vor, einmal nach und einmal ohne meinen Code. Jedesmal kamen Fehler. (Wie gesagt, so ganz einfache dinge schaff ich noch alleine, aaaber.....) Und es hat nichts verändert. Währst du so nett und würdest sie mit der tabelle Uppen? Ach ja, und gegebenenfalls meinen Ausführungen in diesem Post anpassen. Währe echt Super Lieb.
Danke auch dir :)
Angehängtes Bild: Fehler.jpg Angehängtes Bild: Debbug.jpg

Ohjeeeh, jetzt hab ich soviele Wünsche geäusert. Hoffentlich lasst ihr mich jetzt nicht hängen. :D
0

#7 Mitglied ist offline   sn00b 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.242
  • Beigetreten: 07. November 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 08. Dezember 2006 - 19:49

so, hab noch mal einwenig gebastelt! :D

jetzt öffnet sich beim drücken von + bzw. - ein dialog, in diesen dann die firma eintragen!
habe momentan nur probleme mit dem jahr, deshalb steht es im VB direckt als text mit drinn, mir will gerade nicht einfallen wie die funktion heißt! :D

schaus dir mal an und sag was du von dieser methode hällst!
Angehängte Datei  Rechnung_WF_neu.xls (41K)
Anzahl der Downloads: 154
0

#8 Mitglied ist offline   Speedyfree 

  • Gruppe: aktive Mitglieder
  • Beiträge: 752
  • Beigetreten: 14. Mai 04
  • Reputation: 0

geschrieben 08. Dezember 2006 - 20:40

Beitrag anzeigenZitat (Master.Max: 08.12.2006, 19:49)

so, hab noch mal einwenig gebastelt! :)

jetzt öffnet sich beim drücken von + bzw. - ein dialog, in diesen dann die firma eintragen!
habe momentan nur probleme mit dem jahr, deshalb steht es im VB direckt als text mit drinn, mir will gerade nicht einfallen wie die funktion heißt! ;)

schaus dir mal an und sag was du von dieser methode hällst!
Anhang attachment

Hey Super!!!! ;) Also damit kann ich Leben. Klasse Lösung Danke! ;)
Öhmm, wenn dir die Funktion noch einfällt, gibst du sie mir noch? Ich probier derweilen auch weiter.
Nochmals Danke!
0

#9 Mitglied ist offline   sn00b 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.242
  • Beigetreten: 07. November 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 08. Dezember 2006 - 20:45

jep, wenn ichs weiß werde ich ein update geben! denke auch das es kommen wird, weiß nur noch nicht wann, so was lässt mir doch auch keine ruhe! ;)

freut mich geholfen zu haben! ;)

EDIT:
so, habs schon!
Angehängte Datei  Rechnung_WF_neu.xls (41K)
Anzahl der Downloads: 182
jetzt steht dort immer!

Eingabe aus Dialog! / Rechnungsnummer(die durch die buttens rauf und runter geht) / aktuelles Jahr

Dieser Beitrag wurde von Master.Max bearbeitet: 08. Dezember 2006 - 20:53

0

#10 Mitglied ist offline   Speedyfree 

  • Gruppe: aktive Mitglieder
  • Beiträge: 752
  • Beigetreten: 14. Mai 04
  • Reputation: 0

geschrieben 08. Dezember 2006 - 23:28

Weltklasse ;) Jetzt ist es Perfekt

Das Jear hab ich auch gefunden, wusste aber nicht wie ich es hätte einbinden können.

Danke sehr!
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0