Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1092to1096
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

Bedingung in Workbook einbauen

Bedingung in Workbook einbauen
Stefanglander
Hallo Forum,
Ich habe in auf Tabellenblatt1 3 Textboxen. Den Inhalt übertrage ich auf das Tabellenblatt2 mit einem CMD.
Nun möchte ich abe rnicht das die Daten auf das 2 Blatt übertragen werden, sondern auf das Blatt was in Textbox ein angegeben ist.
Beispiel: Es gibt Blatt 1, Blatt AAA, Blatt BBB und Blatt CCC.
Steht nun in Textbox 1 AAA, sollen die Daten in das entsprechende Blatt übernommen werden.
Wie müßte ich den Code abändern ?
Private Sub CommandButton1_Click()
Dim LRow As Long
With Workbooks("Test.xls").Sheets("AAA")
LRow = .Cells(.Rows.Count, 1).End(xlUp).Row 'letzte Zeile?
LRow = IIf(LRow = 1, 2, LRow + 1) 'nicht in Überschrift Zeile 1
.Cells(LRow, 1) = (TextBox1)
.Cells(LRow, 2) = (TextBox2)
.Cells(LRow, 3) = (TextBox3)
End With
End Sub
Gruß
Stefan

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Bedingung in Workbook einbauen
01.08.2009 14:08:23
Tino
Hallo,
gebe die TextBox an wo der Tabellenname drin steht.
Beispiel:
Private Sub CommandButton1_Click()
Dim LRow As Long
'Textbox angeben wo die Tabelle srin steht
With Workbooks("Test.xls").Sheets(CStr(TextBox4))
LRow = .Cells(.Rows.Count, 1).End(xlUp).Row 'letzte Zeile?
LRow = LRow + 1 'nächste leere Zeile
.Cells(LRow, 1) = (TextBox1)
.Cells(LRow, 2) = (TextBox2)
.Cells(LRow, 3) = (TextBox3)
End With
End Sub
Gruß Tino
Danke Dir
01.08.2009 14:15:39
Stefanglander
Nachbrenner, kann ich die textboxen eigentlich nach drücken des CMB automatisch leeren lassen ?
Gruß
Stefan
Anzeige
geht auch
01.08.2009 14:22:20
Tino
Hallo,
so werden die Textboxen danach geleert.
Private Sub CommandButton1_Click()
Dim LRow As Long
If TextBox4  "" Then
'Textbox angeben wo die Tabelle drin steht
With Workbooks("Test.xls").Sheets(CStr(TextBox4))
LRow = .Cells(.Rows.Count, 1).End(xlUp).Row 'letzte Zeile?
LRow = LRow + 1 'nächste leere Zeile
.Cells(LRow, 1) = (TextBox1)
.Cells(LRow, 2) = (TextBox2)
.Cells(LRow, 3) = (TextBox3)
End With
'Textbox leeren
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
End If
End Sub
Gruß Tino
AW: geht auch
01.08.2009 14:44:45
Stefanglander
SUper Tino,
ich sage mega Danke.
In der Hoffnung das ich noch etwas fragen darf schiebe ich noch ein Problem hinterher.
Ich möchte genre verhindern das der Anwender in die Textbox 4 irgendwas reinschreibt.
Was ist nun besser ? Anstatt einer Textbox eine Liste ( Datengültigkeit) einzubauen oder ein Kombinationsfeld.
Das Kombinationsfeld sollte sich dann die Daten aus dem Blatt "Variablen" Zellen A1:A10 holen.
In beiden fällen, egal ob Kombifeld oder Liste weiß ich dann abe rnicht wie ich den Code ändern müßte.
Gruß
Stefan
Anzeige
AW: geht auch
01.08.2009 15:21:23
Tino
Hallo,
wenn Du es mit einer Gültigkeitsliste machen möchtest,
schreibe an Stelle der TextBox4 die Zelle mit der Gültigkeit
Oder Verwende ein Kombinationfeld (ComboBox) und setzte dies an Stelle der TextBox4.
Stelle die Eigenschaft Style auf DropDownListe in der Combo,
damit der Anwender nichts schreiben kann sondern nur auswählen.
Gruß Tino
AW: geht auch
01.08.2009 15:26:48
Stefanglander
Hey Tino,
abe rwie bekomme ich die Daten vom Blatt "Variablen" A1:A10 in die Combobox, das habe ich noch nie gemacht.
Gruß Stefan
oder auch
01.08.2009 15:38:51
Tino
Hallo,
oder Du verwendet ein Dropdown aus Formular Steuerelemente,
ist meiner Meinung nach Optisch schöner.
Hier ein Beispiecode dazu.
Private Sub CommandButton1_Click()
Dim LRow As Long, sTab As String
'Name des Dropdown eventuell anpassen
With ActiveSheet.Shapes("Dropdown 1").OLEFormat.Object
If .Value > 0 Then
sTab = Range(.ListFillRange)(.Value)
.Value = 0
End If
End With
If sTab  "" Then
'Textbox angeben wo die Tabelle drin steht
With Workbooks("Test.xls").Sheets(sTab)
LRow = .Cells(.Rows.Count, 1).End(xlUp).Row 'letzte Zeile?
LRow = LRow + 1 'nächste leere Zeile
.Cells(LRow, 1) = (TextBox1)
.Cells(LRow, 2) = (TextBox2)
.Cells(LRow, 3) = (TextBox3)
End With
'Textbox leeren
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
End If
End Sub

Gruß Tino
Anzeige
AW: oder auch
01.08.2009 15:46:55
Stefanglander
Hallo Tino,
ich bekomme hier gleich ein Horn, grins.
ich kann alles einfügen aus Formularsteuerelemente nur kein Textfeld, Kombinationsliste und...... Dropdown-Kombinationsfeld.
Verzweifel
Stefan
AW: geht auch
01.08.2009 15:44:09
Tino
Hallo,
schau mal in die Eigenschaft der Combo (im VBA)
dort gibst Du unter ListFillRange den Bezug ein Variablen!A1:A10
achte auf das Ausrufezeichen zwischen Tabellenname und Zelladresse.
Gruß Tino
Es klappt
01.08.2009 15:59:40
Stefanglander
Danke danke danke,
es klappt mit der Kombobox.
Ich bin happy
Danke Tino
AW: Es klappt
01.08.2009 16:06:52
Stefanglander
Nochmal ich, upps,
kann ich der Combox nach betätigen des CMB1, den Wert von Zelle A1 Varialbel ( Zelle ist leer) anzeigt.
Ich möchte verhindern das der Anwender weiter Datensätze "irgendwo hin schreibt" ?
Gruß
Stefan
Anzeige
AW: Es klappt
01.08.2009 16:21:24
Tino
Hallo,
dafür brauchst Du keine leere Zelle, einfach den Index auf -1 setzen.
ComboBox1.ListIndex = -1
0 ist der erste Eintrag
1 der zweite
2 der dritte
usw…
Gruß Tino
Danke Dir, und nun o.T.
01.08.2009 16:33:38
Stefanglander
.
Noch ein Nachbrenner
01.08.2009 17:17:34
Stefanglander
Hallo Tino,
kann ich dem Code auch sagen er soll die Daten zusätzlich auch noch immer in eine Tabellblatt schreiben
mit dem Namen "Alle" ?
Wie muss ich den Code erweitern ?
Gruß
Stefan
PS: Wenn ich mein Kunstwerk, grins fertig habe, soll ich es Dir einmal zukommen lassen ?
AW: Noch ein Nachbrenner
01.08.2009 17:38:29
Tino
Hallo,
schreibe doch einfach nach dem End With diese Zeilen noch hinzu.
    With Workbooks("Test.xls").Sheets("Alle")
LRow = .Cells(.Rows.Count, 1).End(xlUp).Row 'letzte Zeile?
LRow = LRow + 1 'nächste leere Zeile
.Cells(LRow, 1) = (TextBox1)
.Cells(LRow, 2) = (TextBox2)
.Cells(LRow, 3) = (TextBox3)
End With
Gruß Tino
Anzeige
Recht vielen Dank (o.T)
01.08.2009 17:45:26
Stefanglander
.
so hier ist die Datei...
03.08.2009 15:46:16
Tino
Hallo,
, die Daten fürs Diagramm habe ich in eine separate Tabelle geschrieben und diese ausgeblendet.
Im Code wird diese mit Tabelle3 angesprochen.
Einblenden kannst Du Sie im VBA,
doppelklick auf Tabelle3 und unter Visible aus xlSheetVeryHidden -> xlSheetVisible machen.
https://www.herber.de/bbs/user/63601.xls
Gruß Tino
sorry, bin hier falsch oT.
03.08.2009 15:47:47
Tino

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige