Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1176to1180
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ezeugen von Sheets und Zeilen per Button

Ezeugen von Sheets und Zeilen per Button
Sheets
hallo ihr lieben,
ich mache gerade ein praktikum und soll in einer vorhandenen exceldatei ein makro programmieren. leider habe ich nur grundkenntnisse in vba und komme auf eigene faust nicht weiter.
vielleicht kann mir ja jemand helfen...
aufbau der excel datei:
sheet 1 (quellsheet) enthaelt kurze kundendaten (pro kunde eine zeile), wie namen und vertraglsaenge.
die darauffolgenden sheets (detailsheet) beinhalten fuer jeden kunden einzeln, weitere details(kunde aus sheet 1 ist mit einem nur fuer den kunden angelegten sheet verlinkt). nochmal: der kunde hat auf sheet 1 eine fortlaufende nummer, die mit dem detailsheet des jeweiligen kunden verlinkt ist. beispiel:kunde 5 aus dem quellsheet ist verlinkt mit sheet 5. kunde 6 aus dem quellsheet ist verlinkt mit sheet 6 usw...
ich soll jetzt einen button auf dem quellsheet erstellen, mit dem man per klick kunden hinzufuegen kann. folgender prozess:
-button wird auf quellsheet angelegt (" Neuen Kunden hinzufugen")
-es soll dann gefragt werden, ob kundenkategorie a oder b (kategorie a hat auf dem quellsheet einfach eine fortlaufende nummer zb. 1,2,3,4 usw, und kategorie b hat ein "b" und eine neue fortlaufende nummer fuer die b kategorie, wie z.b. b1,b2,b3,usw)
-wenn ein neuer a-kunde, soll einfach nur die fortlaufende nummerierung fortgefuehrt werden (also neue zeile mit einem neuen a-kunden, alos wenn der letzte 88 war, soll eine neue zeile 89 erstellt werden)
-wenn b, dann soll eben ab z.b. B13 fortgefuehrt werden mit B14
-nachdem man die kategorie ausgewaehlt hat, soll eine eingabemaske aufpoppen. die soll abfragen: 1. kundennamen 2. produkt 3. ob grosskunde oder nicht (dropdownbox mit yes oder no zum auswaehlen)
-die in die maske eingegebenen daten, sollen dann auf dem quellsheet den neuen kundensatz (also eine neue Zeile) ergeben (kundenname in spalte b, produkt in spalte c und die auswahl ob yes oder no in spalte d)
-gleichzeitig soll ein detailsheet fuer diesen kunden erzeugt werden, welches als namen die gleiche nummer traegt, wie dem kunden gegeben wurde (wenn z.b. der kunde ein b kunde ist, und der 20ste davon, soll das detailsheet b20 heissen, also selbes prinzip der fortlaufenden nummerierung wie im quellsheet)
-die exceldatei ist von vornherein durch die verlinkungen so eingestellt, dass wenn man zb im detailsheet b5 den namen des kunden aendert, sich der name auch im quellsheet in der jeweiligen zeile und spalte aendert.
diese eigenschaft soll bei neu erstelltem kundensatz genauso sein. d.h. das neue sheet und die neue Zeile sollen die selbe formatierung/eigenschaften (oder wie man das auch nennt) haben, wie das sheet oder die zeile davor.
Phu....ich weiss es ist VIEL und kompliziert aber mit meinem einfachen VBA-einmaleins komme ich nicht weiter. Ich hoffe es kann mir jemand weiter helfen, sonst seh ich hier bei der Arbeit bisl alt aus :(
AW: Ezeugen von Sheets und Zeilen per Button
28.09.2010 10:45:18
Sheets
hmm....
Nachbauen?
28.09.2010 10:47:43
Klaus
Hallo Cynthia,
es nützt niemandem, wenn wir jetzt drauflosraten und Beispiele zeigen die dann nicht zu deiner Mappenstruktur passen. Lad mal einen relevanten Teil der Liste hoch.
Kannst ja vorher alle Zahlen durch Zufallszahlen überschreiben und die Kunden "Mustermann, Sampleman und Graf von Musterung nennen", damit keine vertraulichen Informationen im Netz landen.
Grüße,
Klaus M.vdT.
wie ich das verstanden habe...
28.09.2010 10:55:53
Rudi
Hallo,
ein Userform mit
OptionButton1 (A-Kunde)
OptionButton2 (B-Kunde)
TextBox1 (Name)
Textbox2 (Produkt)
Checkbox1 (Großkunde)
CommandButton1 (OK)
CommandButton2 (Abbrechen)
Code in der UF:
Private Sub CommandButton1_Click()
Dim sKdnr, wksNeu As Worksheet
sKdnr = KdNr(OptionButton2)
Set wksNeu = Worksheets.Add(after:=Worksheets(Worksheets.Count))
With wksNeu
.Cells(1, 1) = TextBox1
.Cells(1, 2) = TextBox2
.Cells(1, 3) = IIf(CheckBox1, "Yes", "No")
.Name = sKdnr
End With
With Sheets("Quelle").Cells(Rows.Count, 1).End(xlUp)
.Offset(1, 0) = sKdnr
.Offset(1, 1).FormulaLocal = "=" & sKdnr & "!A1"
.Offset(1, 2).FormulaLocal = "=" & sKdnr & "!B1"
.Offset(1, 3).FormulaLocal = "=" & sKdnr & "!C1"
End With
Hide
Unload Me
End Sub
Private Sub CommandButton2_Click()
Hide
Unload Me
End Sub
Private Sub UserForm_Activate()
OptionButton1 = True
End Sub
Function KdNr(blnB As Boolean)
Dim rngC As Range
Select Case blnB
Case True 'ist B-Kunde
With Sheets("Quelle")
For Each rngC In .Columns(1).SpecialCells(xlCellTypeConstants, xlTextValues)
If rngC.Row > 1 Then KdNr = Application.Max(KdNr, CLng(Replace(rngC, "B", "")))
Next
End With
KdNr = "B" & KdNr + 1
Case Else
KdNr = Application.Max(Sheets("Quelle").Columns(1)) + 1
End Select
End Function
Code für Button auf Blatt "Quelle":
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
Gruß
Rudi
Anzeige
AW: wie ich das verstanden habe...
28.09.2010 11:16:49
cynthia
Hallo Rudi vielen dank. Ich werds mal gleich ausprobieren.
AW: wie ich das verstanden habe...
28.09.2010 11:27:43
cynthia
Der zweite Code soll aufs quellblatt. Wo soll der erste Code hin?
Wenn ich beide Codes auf dem Quellblatt schreibe kommt eine Fehlermeldung : " Compile error"
AW: wie ich das verstanden habe...
28.09.2010 11:30:29
cynthia
der erste Code soll aufs quellblatt. wo soll der erste, der laengere code hin?
In die Userform owT
28.09.2010 11:49:29
Rudi
AW: In die Userform owT
28.09.2010 12:11:35
cynthia
Ich weiss ich stell mich bisl bloed an, aber hab noch nie ne userform gemacht.
also ich habe eine userform hinzu gefuegt und dann den von dir geschriebenen code rein geschrieben.
muss ich dann auf dieser Userform die optionbuttons und so weiter anlegen?
Also da habe ich gemacht. aber wahrscheinlich falsch.
Kannst du mir viell schritt fuer schritt schreiben wie ich es machen soll?
Danke.
Anzeige
Schritt für Schritt
28.09.2010 12:30:55
Rudi
Hallo,
sorry, aber dies ist ein Forum und kein Excel-Kurs. Sinn eines Forums ist die Diskussion von Problemen und deren Lösung und nicht die Vermittlung von Grundlagen.
Da ich die Steuerelementnamen auf Standard gelassen habe, kann man kaum was falsch machen, wenn man die UF wie beschrieben aufbaut.
Gruß
Rudi
AW: Schritt für Schritt
28.09.2010 13:50:39
cynthia
Ja verstehe. Trotzdem vielen Dank fuer deine Muehe. Werde es weiter versuchen und dich wissen lassen obs dann geklappt hat.
Liben Gruss,
Cynthia
AW: wie ich das verstanden habe...
29.09.2010 11:44:29
cynthia
Hallo Rudi,
Also der Code den du mir gegeben hast hat mir wie gesagt sehr geholfen. Ist nur so, dass der Teil wo ein B vor die Nummer soll nicht funktioniert . Ich habe die Userform in eine Beispieldatei eingefuegt ( bzw. ich hatte dabei Hilfe von einem anderen netten Forunmmitglied).
Vielleicht kannst du dir das ja mal ansehen?
https://www.herber.de/bbs/user/71692.xls
Lieben Gruss
Anzeige
AW: Ezeugen von Sheets und Zeilen per Button
28.09.2010 16:20:19
Sheets
Ich wurde gerade in einem anderen Forum darauf aufmerksam gemacht, dass ich ein Crossposter bin und warum Crossposting nicht "korrekt" ist.
Ich habe in drei Foren meine Frage gestellt, da ich seit gestern zum erstenmal ueberhaupt in Foren unterwegs bin. Habe daher nicht gewusst was es bedeutet auf mehrern Foren zu posten.
Werde daher nur noch auf office-loesungen.de da einer Loesung suchen.
@ Rudi
Dein Code hat mir schon mal sehr viel weiter geholfen habe es geschafft die Userform anzulegen. Nur ein
Paar Sachen funktionieren nicht.
Falls Jemand mir helfen kann bzw. mag kann er ja mal bei office-loesungen.de reinschauen.
Liben Gruss und danke fuer die Hilfe.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige