Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1208to1212
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
Spalte anstatt Zeile
amintire
Guten morgen liebe Excelfreunde,
benötige Hilfe bei einer Code umschreibung.

Die Datei https://www.herber.de/bbs/user/74347.xls wurde aus Datenschutzgründen gelöscht


Momentan ist es so, dass bei Eingabe alle TextBoxen nebeneinander bei Klick auf Button gespeichert werden, nächste Eingabe ist nächste freie Zeile usw.
es soll aber genau umgekehrt sein, also untereinander stehen und bei neuen Eingaben dann nächste Spalte.
Habe eine Beispielmappe zur Verständlichkeit hochgeladen, ansonsten hier wäre der Code:
Private Sub TextBox1_Change()
Dim varTMP As Variant
With Tabelle1
varTMP = Application.Match(TextBox1.Text, .Range("A:A"), 0)
If Not IsError(varTMP) Then
Me.Tag = varTMP
TextBox2.Text = .Cells(varTMP, 2).Value
TextBox3.Text = .Cells(varTMP, 3).Value
TextBox4.Text = .Cells(varTMP, 4).Value
TextBox5.Text = .Cells(varTMP, 5).Value
TextBox6.Text = .Cells(varTMP, 6).Value
TextBox7.Text = .Cells(varTMP, 7).Value
TextBox8.Text = .Cells(varTMP, 8).Value
Else
Me.Tag = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
End If
End With
End Sub

Private Sub CommandButton1_Click()
Dim lngRow As Long
If Me.Tag  "" Then
With Tabelle1
.Cells(Me.Tag, 1).Value = TextBox1.Text
.Cells(Me.Tag, 2).Value = TextBox2.Text
.Cells(Me.Tag, 3).Value = TextBox3.Text
.Cells(Me.Tag, 4).Value = TextBox4.Text
.Cells(Me.Tag, 5).Value = TextBox5.Text
.Cells(Me.Tag, 6).Value = TextBox6.Text
.Cells(Me.Tag, 7).Value = TextBox7.Text
.Cells(Me.Tag, 8).Value = TextBox8.Text
End With
Else
With Tabelle1
lngRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(lngRow, 1) = TextBox1.Text
.Cells(lngRow, 2) = TextBox2.Text
.Cells(lngRow, 3) = TextBox3.Text
.Cells(lngRow, 4) = TextBox4.Text
.Cells(lngRow, 5) = TextBox5.Text
.Cells(lngRow, 6) = TextBox6.Text
.Cells(lngRow, 7) = TextBox7.Text
.Cells(lngRow, 8) = TextBox8.Text
End With
End If
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
End Sub

Lieben Gruß Amina

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: danke..
12.04.2011 08:45:03
amintire
Hallo Hary,
danke für Deine Hilfe, genauso wollte ich es, muss es nur noch an die entsprechenden Zeilen / Spalten anpassen ;) Hoffe ich schaffe das.
Lieben Gruß Amina
AW: ?
12.04.2011 09:11:23
amintire
OK, benötige doch Hilfe ;))
Was muss ich wo ändern.
Zeile =
Spalte =
Und ab da geht es dann Spalte zu Spalte die Einträge.
Bei deinem Code passt es perfekt, aber beginnt bei A:A und geht weiter bei B:B
Benötige es vielleicht ab Zelle B8 und bei C8 gehts weiter.
Kannst du mir des evtl. mit '''''' erklären welche Änderungen für welche Zellen/Spalten sind?
Möchte ja auch was dazulernen ;))
Lieben Gruß
Amina
Anzeige
AW: ?
12.04.2011 09:23:04
ing.grohn
Hallo,
warum folgendes:
 zeile = Cells(1, Columns.Count).End(xlToLeft).Column + 1

Sind Columns nicht Spalten?
Einen schönen Tag und freundliche Grüße
Albrecht
AW: @Albrecht
12.04.2011 09:28:21
hary
Hallo Albrecht
Danke fuer aufpassen, sollte spalte= heissen
Hast Du schon auf die Uhr geschaut? Bin noch muede ;-))
Ist ein schreibfehler, in der neuen Mappe geaendert.
gruss hary
AW: ?
12.04.2011 09:25:22
hary
Hallo
jezt kannst Du direkt vergleichen. Faengt in B8 an.
https://www.herber.de/bbs/user/74349.xls
gruss hary
Anzeige
AW: noch ein Problem im Code...
12.04.2011 09:27:39
amintire
Hallo Hary,
aber ein Problem gibt es noch.
Wenn ich TextBox1 schon vorbereite, und dann UF starte und den Tag eingebe (den ich vorbereitet habe) dann schreibt er mir alles in einer neuen Spalte anstatt die vorhandene zu ersetzen.
Kann dies noch gelöst werden?
Gruß Amina
AW: ist aber noch offen ;))
12.04.2011 09:33:41
amintire
...
AW: so?
12.04.2011 09:59:39
hary
Hallo
Also, versteh ich richtig. Du gibst nur mit der TextBox1 in die Tabelle ein. Schliesst die Form. Oeffnest diese wieder und moechtest dann den Eintrag weiterbearbeiten?
versuch mal hier. Habe das TextBox1 Change geaendert in TextBox1 Exit.
https://www.herber.de/bbs/user/74350.xls
Gruss hary
muss jetzt aber erstemal weg.
Anzeige
AW: nöö.... funktioniert auch nicht.
12.04.2011 10:16:11
amintire
Hallo nochmal,
also bei deinem letzten Beispiel funktioniert es auch nicht.
https://www.herber.de/bbs/user/74351.xls
Also so ungefähr sieht die Tabelle aus.
Wenn ich jetzt UserForm starte, in TextBox1 das Datum eingebe, dann soll er in der Tabelle wo das Datum steht die Einträge von TextBox2 - 8 machen.
Das ganze funktioniert ja wenn ich die Tage nicht vorbereite, dann schreibt er alles schön nacheinander in die Spalten.
Wenn ich die Tage vorbereite, dann schreibt er es auch ab der letzten freien Spalte.
Gruß Amina
Anzeige
AW: vielen Dank
12.04.2011 11:13:03
amintire
Hallo Erich,
genauso wollte ich es haben. Vielen Dank für deine bzw. eure Hilfe.
ja kann sein das ich mich ab und zu an den Spalten verplane ;) Aber weiß ja nun wie ich es ändern kann.
Danke.
Lieben Gruß
Amina
Anzeige
AW: Noch eine Hilfe bitte
13.04.2011 17:15:36
amintire
Hallo nochmal,
kannst du mir nochmal helfen, und zwar soll da eine ComboBox dazukommen,
in der ich die Auswahl der Tabellenblätter habe, wo dann die Einträge entsprechend eingetragen werden sollen,
Also Auswahl Tabelle1, dann bei Klick auf CommandButton die Einträge in Tabelle1 schreiben,
wenn ich Tabelle2 auswähle, dann sollen die Einträge in Tabelle2 reingeschrieben werden usw.
https://www.herber.de/bbs/user/74382.xls
Bekomme es leider nicht so hin, nur mit einer Möglichkeit, aber dann müsste ich etliche With Codes schreiben und den ganzen Code immer wieder kopieren, irgendwann hätte ich da keinen Durchblick mehr.
Vielleicht geht es ja einfacher.
Danke.
Lieben Gruß
Amina
Anzeige
Sheet variabel
13.04.2011 17:35:57
Erich
Hi Amina,
da musst du doch nicht "etliche With Codes schreiben und den ganzen Code immer wieder kopieren".
Wenn du den Namen des mit ComboBox (besser wäre Listbox) ausgweählten Blatts in der String-Variablen strBlatt
stehen hast, kannst du statt
With Tabelle1
doch überall
With Sheets(strBlatt)
schreiben.
Ich habe momentan keine Zeit. Beispiele für die Blattliste in einer Combo- oder Listbox findest du hier im Archiv viele.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Sheet variabel
13.04.2011 20:05:00
amintire
Hallo,
die ListBox bzw. Auswahlliste habe ich schon hinbekommen,
wie verpacke ich es jetzt im Code?
kenne mich da leider nicht so aus.
Gruß Amina
https://www.herber.de/bbs/user/74386.xls
Anzeige
AW: Noch eine Erklärung...
13.04.2011 20:53:51
amintire
Hallo nochmal,

Die Datei https://www.herber.de/bbs/user/74388.xls wurde aus Datenschutzgründen gelöscht


Also es ist so, bei Page1 wählt man bei der ComboBox die Tabelle aus, schreibt ins Textfeld die Sachen und klickt auf ok. Das gleiche bei Page2, wo auch eine ComboBox ist aber eben mit anderen Tabellen zur Auswahl.
Bis jetzt passt ja die Eingabe von den Textboxen bei Page1, aber wie bekomme ich es hin, dass wenn ich in der Liste z.B. Tabelle2 auswähle und die Daten dann eingebe es in Tabelle2 erscheint.
Lieben Gruß
Amina
Anzeige
damit schränkst du dich ...
12.04.2011 13:30:42
Rudi
... aber ganz schön ein.
Sortieren, Filtern, Pivot etc kannst du vergessen. Und nach 256 DS ist Schluss.
Gruß
Rudi
AW: damit schränkst du dich ...
12.04.2011 18:30:15
amintire
Hallo Rudi,
ich weiß, das Excel mehr Zeilen als Spalten zur Verfügung hat.
Benötige es aber genau so wie ihr mir eh schon weitergeholfen habt ;)
Danke nochmal.
Gruß Amina

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige