Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Tabellenblatt mit Inhalt einer Combobox benennen
#1
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.Count2).End(xlUp).Row 1
    
.Cells(intErsteLeereZeile1).Value CDate(Me.TxtDatum.Value)
    .
Cells(intErsteLeereZeile2).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
Antworten Top
#2
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
Antworten Top
#3
(18.06.2014, 14:05)Steffl schrieb: ...teste mal...
'den Punkt vor Rows.Count ergänzt
Code:
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

.xlsm   Beispiel.xlsm (Größe: 41,63 KB / Downloads: 10)
Antworten Top
#4
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:
  • WergibtmirRat
Antworten Top
#5
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
Antworten Top
#6
(18.06.2014, 17: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:
  • WergibtmirRat
Antworten Top
#7
(18.06.2014, 17: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 Wochenende

an die helfenden Finger'z Stefan & Ralf vielen lieben Dank mit viel Basss :100:
Antworten Top
#8
(18.06.2014, 17: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???
Antworten Top
#9
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.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#10
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste