Registriert seit: 15.04.2014
Version(en): Office 2007
Hallo @all Ich versuch mich ein wenig mit VBA, es zu verstehen zu erlernen Bin mal wieder am grübeln.,Wie benenne ich ein neues anzulegendes Tabellenblatt mit dem Inhalt der Combobox1 PHP-Code: Private Sub CmdEingabe_Click() Dim wksZiel As Worksheet Dim intErsteLeereZeile As Long Dim curNetto As Currency Set wksZiel = Worksheets
With wksZiel 'ActiveSheet ' meine Idee ("combobox1.Text") ???
intErsteLeereZeile = .Cells(Rows.Count, 2).End(xlUp).Row + 1 .Cells(intErsteLeereZeile, 1).Value = CDate(Me.TxtDatum.Value) .Cells(intErsteLeereZeile, 2).Value = Me.TxtBezeichnung.Value ......... End With End Sub
wo dann die Daten der einzelnen Textboxen gespeichert werden können. wäre mir ein VBA-Kenner bitte behilflich. mfg
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Frank, teste mal Code: 'würde wahrscheinlich nicht gehen ' Set wksZiel = Worksheets
'hättest es fast gehabt With Worksheets(Combobox1.Text) 'ActiveSheet ' meine Idee ("combobox1.Text") ???
'den Punkt vor Rows.Count ergänzt intErsteLeereZeile = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
Gruß Stefan Win 10 / Office 2016
Registriert seit: 15.04.2014
Version(en): Office 2007
(18.06.2014, 15:05)Steffl schrieb: ...teste mal... 'den Punkt vor Rows.Count ergänztCode: intErsteLeereZeile = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
Fehlermeldung Index ausserhalb Bereich Hallo Stefan, ehrlich getippt. Ich krieg es nicht hin. Bitte unterstütz mich ein weiteres Mal. anbei die Original aus dem www mitgetippt - dropbox vom Herausgeber inaktiv zum download
Beispiel.xlsm (Größe: 41,63 KB / Downloads: 10)
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Frank, sorry, war mein Fehler. Ich habe das mit dem neu anzulegenden Tabellenblatt überlesen. :37: Bitte füge die Funktion auch mit ein. Code: Private Sub CmdEingabe_Click() 'fügt die Daten in Tabellenblatt und schließt das UserForm1 Dim wksZiel As Worksheet Dim intErsteLeereZeile As Long Dim curNetto As Currency
' In eine anderes Tabellenblatt habe ich hinbekommen If Not BlattExists(CboKategorieSteuer.Text) Then Sheets.Add(Type:=xlWorksheet).Name = CboKategorieSteuer.Text
Set wksZiel = Worksheets(CboKategorieSteuer.Text) With wksZiel ' in diesem Fall Tabellenblatt >AlleDaten< ' was muss hier vor Rows.Count eingetragen werden ? intErsteLeereZeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(intErsteLeereZeile, 1).Value = CDate(Me.TxtDatum.Value) .Cells(intErsteLeereZeile, 2).Value = Me.TxtBezeichnung.Value .Cells(intErsteLeereZeile, 3).Value = Me.CboKategorieSteuer.Value .Cells(intErsteLeereZeile, 4).Value = CCur(Me.TxtBrutto.Value) .Cells(intErsteLeereZeile, 5).Value = CDbl(Me.cboSteuersatz.Value) curNetto = Round(CCur(Me.TxtBrutto.Value) / (1 + CDbl(Me.cboSteuersatz.Value)), 2) .Cells(intErsteLeereZeile, 6).Value = curNetto .Cells(intErsteLeereZeile, 7).Value = CCur(Me.TxtBrutto.Value) - curNetto End With ' Unload UserForm1 End Sub
Function BlattExists(BlattName As String) As Boolean On Error Resume Next BlattExists = Not ThisWorkbook.Worksheets(BlattName) Is Nothing On Error GoTo 0 End Function
Gruß Stefan Win 10 / Office 2016
Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:1 Nutzer sagt Danke an Steffl für diesen Beitrag 28
• WergibtmirRat
Registriert seit: 15.04.2014
Version(en): Office 2007
Hallo Stefan, einfach nur saugeil (sorry für den Ausdruck, aber mein Erstaunen ist grenzenlos), brüte hier schon seit dem Mittag drüber.
nächste Sache: Im Tabellenblatt "alleDaten" Zellen A1:G1 befüllt mit: Datum; Objekt; Kategorie; Brutto; Steuersatz; Netto und Mehrwertsteuer Können diese Beschriftungen irgendwie mit in die neu generierten Tabellenblätter übermittelt werden oder gar mittels Code quasi in einem Rutsch hergestellt werden?
mfg
Registriert seit: 10.04.2014
Version(en): 2016 + 365
(18.06.2014, 18:08)WergibtmirRat schrieb: Im Tabellenblatt "alleDaten" Zellen A1:G1 befüllt mit: Datum; Objekt; Kategorie; Brutto; Steuersatz; Netto und Mehrwertsteuer Können diese Beschriftungen irgendwie mit in die neu generierten Tabellenblätter übermittelt werden oder gar mittels Code quasi in einem Rutsch hergestellt werden? vor das end with: Code: Worksheets("alleDaten").Range("A1:G1").Copy .Range("A1:G1")
Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:1 Nutzer sagt Danke an Rabe für diesen Beitrag 28
• WergibtmirRat
Registriert seit: 15.04.2014
Version(en): Office 2007
(18.06.2014, 18:28)Rabe schrieb: ...vor das end with... Hallo Ralf Besten Dank für deine Ünterstützung. Hab's selber gerade mit einem Makro versucht, aber immer ausserhalb vom Index gearbeitet. Nun kann ich weiter werkeln, probieren und lernen. mfg P.S. zum richtigen chillen ins lange Wochenendean die helfenden Finger'z Stefan & Ralf vielen lieben Dank mit viel Basss :100:
Registriert seit: 15.04.2014
Version(en): Office 2007
(18.06.2014, 18:08)WergibtmirRat schrieb: ...benenne ich ein neues anzulegendes Tabellenblatt mit dem Inhalt der Combobox...
...Im Tabellenblatt "alleDaten" Zellen A1:G1 befüllt mit: Datum; Objekt; Kategorie; Brutto; Steuersatz; Netto und Mehrwertsteuer Können diese Beschriftungen irgendwie mit in die neu generierten Tabellenblätter übermittelt werden oder gar mittels Code quasi in einem Rutsch hergestellt werden... Hallo Excel und WM Gemeinde Ich mach es kurz, wie erreiche ich das nach erzeugen des neu angelegten Datenblattes, dieses nicht angezeigt wird, sondern auf dem Aktuellen verbleibt???
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
Hallo Frank, Zitat:Hallo Excel und WM Gemeinde Ich mach es kurz, wie erreiche ich das nach erzeugen des neu angelegten Datenblattes, dieses nicht angezeigt wird, sondern auf dem Aktuellen verbleibt??? ... ich mache es auch kurz. Würdest Du den Code zeigen, würde man Dir auch gezielter und punktgenau helfen können.
Registriert seit: 15.04.2014
Version(en): Office 2007
Hallo @all Hier noch der Code Code: Private Sub CmdEingabe_Click() Dim wksZiel As Worksheet Dim intErsteLeereZeile As Long Dim curNetto As Currency If Not BlattExists(CboKategorieSteuer.Text) Then Sheets.Add(Type:=xlWorksheet).Name = CboKategorieSteuer.Text Set wksZiel = Worksheets(CboKategorieSteuer.Text) intErsteLeereZeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1 .Cells(intErsteLeereZeile, 1).Value = CDate(Me.TxtDatum.Value) .Cells(intErsteLeereZeile, 2).Value = Me.TxtBezeichnung.Value .Cells(intErsteLeereZeile, 3).Value = Me.CboKategorieSteuer.Value .Cells(intErsteLeereZeile, 4).Value = CCur(Me.TxtBrutto.Value) .Cells(intErsteLeereZeile, 5).Value = CDbl(Me.cboSteuersatz.Value) curNetto = Round(CCur(Me.TxtBrutto.Value) / (1 + CDbl(Me.cboSteuersatz.Value)), 2) .Cells(intErsteLeereZeile, 6).Value = curNetto .Cells(intErsteLeereZeile, 7).Value = CCur(Me.TxtBrutto.Value) - curNetto Worksheets("alleDaten").Range("A1:G1").Copy .Range("A1:G1") End With ' Unload UserForm1 End Sub
Danke vorab für die Hilfe mfg
|