Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


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
?mage
to 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 7 / Office 2007
to 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: 9)
?mage
to 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 7 / Office 2007
[-] Folgende(r) 1 Benutzer sagt Danke an Steffl für diesen Beitrag:
WergibtmirRat
to 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
?mage
to 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")
Gruß Ralf

?mage

Die deutsche Rechtschreibung ist Freeware, d.h. du kannst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, deswegen darfst du sie nicht verändern oder in veränderter Form veröffentlichen.
[-] Folgende(r) 1 Benutzer sagt Danke an Rabe für diesen Beitrag:
WergibtmirRat
to 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
?mage
to 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???
?mage
to 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!

?mage
to 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
?mage
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Combobox.listfillrange mit for Knocker 17 395 05.11.2016, 11:25
Letzter Beitrag: schauan
  Anzahl der Tage ermitteln abhängig vom Inhalt einer anderen Spalte Hopfenmeile 4 193 06.10.2016, 19:10
Letzter Beitrag: schauan
  Mehrere Schriftformate einer Zelle mit Bezug in anderes Tabellenblatt Ingo49 10 356 25.09.2016, 09:50
Letzter Beitrag: Ingo49
  Tabellenwechsel per Dropdown-ComboBox TimoK 28 776 13.09.2016, 10:14
Letzter Beitrag: TimoK
  inhalt einer Textbox ohne leerzeichen und mit einer o vorne dran kraehenseele 4 211 11.09.2016, 01:28
Letzter Beitrag: kraehenseele
  ComboBox mit Teil einer Liste füllen Rabe 22 636 05.08.2016, 08:10
Letzter Beitrag: Rabe
  Inhalt von einer Zelle auf mehrere aufteilen Robbie1985 3 254 03.08.2016, 12:17
Letzter Beitrag: Peter
  Bedingtes Formatieren auf Inhalt einer Zelle beziehen suschi1982 7 274 27.07.2016, 16:06
Letzter Beitrag: steve1da
  Intelligente Tabelle benennen herbert0803 5 308 26.07.2016, 15:33
Letzter Beitrag: herbert0803
  Tabellenblatt aus einer Arbeitsmappe speichern Glausius 7 365 14.07.2016, 18:39
Letzter Beitrag: schauan

Gehe zu:


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