Registriert seit: 08.06.2016
	
 Version(en): 2010
	 
 
	
		
		
		23.06.2016, 14:16 
(Dieser Beitrag wurde zuletzt bearbeitet: 23.06.2016, 14:25 von Geri.)
		
	 
	
		Wünsche einen schönen Tag, und würde mich freuen wenn mir jemand bei den nachfolgenden Problemen helfen könnte In meiner Tabelle möchte ich oben noch 2 Zeilen einfügen. Im VBA Code der Eingabemaske weiß ich nun nicht wo ich überall ändern muss,dass die Dateneingabe erst in der 4 Zeile beginnen soll. In der Eingabemaske sollte bei jenen Feldern wo Zahlen sind diese in auch in der Tabelle als Zahl bzw Datum übernommen werden da sonst der Filter und andere Berechnungen nicht funktionieren Die Tagesfilterung sollte vom Datum welches z.B. in A2 eingetragen wird übernommen werden Das gleiche gilt bei der Abfrage eine Zeitraums von bis Ich bin für jegliche Unterstützung dankbar Profis werden sofort sehen "Viel kopiert und wenig verstanden" Hänge meine Datei an LG Geri
  
  Eingabemaske2.xls (Größe: 112,5 KB / Downloads: 15)
	  
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 10.04.2014
	
 Version(en): 2016 + 365
	 
 
	
	
		Hi,  (23.06.2016, 14:16)Geri schrieb:  In meiner Tabelle möchte ich oben noch 2 Zeilen einfügen. Du könntest in dem Code überall statt +1 dann +3 schreiben: Code: TextBox1 = Cells(ComboBox1.ListIndex + 1, 1)
  
	 
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 08.06.2016
	
 Version(en): 2010
	 
 
	
	
		Guten Morgen, erstmal vielen Dank, dass du meiner angenommen hast. Ich habe den Code überall so abgeändert wo ich den List Index mit 1 gefunden habe Das Ergebnis; In der 1. eingefügten leeren Zeile erfolgt der Eintrag und die 2. Zeile wird gelöscht Habe ich etwas übersehen, wo ich noch eine Änderung machen muss?
  LG Geri
	 
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 10.04.2014
	
 Version(en): 2016 + 365
	 
 
	
		
		
		24.06.2016, 09:10 
(Dieser Beitrag wurde zuletzt bearbeitet: 24.06.2016, 09:10 von Rabe.)
		
	 
	
		Hi,  (24.06.2016, 05:08)Geri schrieb:  Habe ich etwas übersehen, wo ich noch eine Änderung machen muss? ne, hast Du nicht. Mein Vorschlag war zu einfach gedacht, das funktioniert so nicht. Ich muß da erst mal rumprobieren. Vielleicht fällt jemand Anderem was ein. Die Makros gehen mit Sicherheit auch deutlich kürzer. Wo sollen denn die leeren Zeilen eingefügt werden, über dem Tabellenkopf oder über der bisherigen ersten Patientenzeile (Mustermann)? In A2 steht kein Datum.
	  
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 08.06.2016
	
 Version(en): 2010
	 
 
	
	
		Hallo,
  die Zeilen sollten über dem Tabellenkopf eingefügt werden. Da möchte ich die Überschrift für das Datum und dem Datum von bis eingeben  In der zweiten Zeile dann die jeweiligen Datums Die Commandbuttons für die Filter könnte ich dann auch da unterbringen Vielen Dank für deine Mühe Geri
	 
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 17.04.2014
	
 Version(en): MS Office 365(32)
	 
 
	
	
		Hallo Geri, Code: Private Sub UserForm_Initialize()   Dim i As Long   ComboBox1.Clear   ComboBox1.AddItem "Neuen Patienten hinzufügen"   For i = 4 To Cells(Rows.Count, 1).End(xlUp).Row       ComboBox1.AddItem Cells(i, 1) & ", " & Cells(i, 2)   Next i   ComboBox1.ListIndex = 0 End Sub
 und die anderen Makros wie Ralf schrieb mit Index + 3. Gruß Uwe
	  
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 10.04.2014
	
 Version(en): 2016 + 365
	 
 
	
		
		
		24.06.2016, 12:12 
(Dieser Beitrag wurde zuletzt bearbeitet: 24.06.2016, 12:12 von Rabe.)
		
	 
	
		Hi Uwe,  (24.06.2016, 11:09)Kuwer schrieb:  und die anderen Makros wie Ralf schrieb mit Index + 3. wenn dann aber ein neuer Patient eingegeben wird, werden die zwei vorhandenen Patienten in die ersten beiden Zeilen des Arbeitsblattes verschoben.
	  
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 08.06.2016
	
 Version(en): 2010
	 
 
	
	
		Hi  die Daten werden in der richtigen Stelle eingetragen Es kommt jetzt aber der nachstehende Fehler  Columns("A:X").Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _         OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom UserForm_Initialize End Sub Lade mal die geänderte Datei hoch Vielen Dank an euch 
  
  Eingabemaske2 probe.xls (Größe: 116 KB / Downloads: 4)
	  
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 08.06.2016
	
 Version(en): 2010
	 
 
	
	
		Entschuldigung, habe jetzt eine ganze Eingabe gemacht und gesehen, dass in der 2. oben eingefügten Zeile die Daten eingefügt werden
	 
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 10.04.2014
	
 Version(en): 2016 + 365
	 
 
	
		
		
		24.06.2016, 13:08 
(Dieser Beitrag wurde zuletzt bearbeitet: 24.06.2016, 13:11 von Rabe.)
		
	 
	
		Hi,  (24.06.2016, 12:41)Geri schrieb:  Entschuldigung, habe jetzt eine ganze Eingabe gemacht und gesehen, dass in der 2. oben eingefügten Zeile die Daten eingefügt werden Uwe hatte ja geschrieben, daß der ".Listindex + 3" lauten muß. Es fehlte noch an zwei Stellen: beim Löschen und beim Übernehmen Das Sortieren habe ich mal auskommentiert und das Feststellen der letzten belegten Zeile verallgemeinert, damit es auch für Excel > 2010 und damit größere Dateien funktioniert. Die TextBox-Orgie habe ich jeweils mit einer Schleife ersetzt. Die ganzen kleinen leeren Makros können entfernt werden. Das ist alles, was Du an Makros benötigst: Code: Option Explicit
  Private Sub ComboBox1_Click()                   'Daten aus Liste holen    Dim i As Long    If ComboBox1.ListIndex <> 0 Then       For i = 1 To 24          Me.Controls("TextBox" & CStr(i)) = Cells(ComboBox1.ListIndex + 3, i)       Next i    Else       For i = 1 To 24          Me.Controls("TextBox" & CStr(i)) = ""       Next i           End If End Sub
  Private Sub CommandButton1_Click()              'Patienten löschen    Dim i As Long    If ComboBox1.ListIndex > 0 Then       Rows(ComboBox1.ListIndex + 3).Delete       For i = 1 To 24          Me.Controls("TextBox" & CStr(i)) = ""       Next i       UserForm_Initialize    End If End Sub
  Private Sub CommandButton2_Click()                 'neuen Patienten übernehmen    Dim xZeile As Long    Dim i As Long        If TextBox1 = "" Then Exit Sub    If ComboBox1.ListIndex = 0 Then       xZeile = Cells(Rows.Count, 1).End(xlUp).Row + 1     'Letzte Zeile der Spalte A       '      xZeile = [A65536].End(xlUp).Row + 1    Else       xZeile = ComboBox1.ListIndex + 3    End If        For i = 1 To 24       Cells(xZeile, i) = Me.Controls("TextBox" & CStr(i))    Next i        For i = 1 To 24       Me.Controls("TextBox" & CStr(i)) = ""    Next i        '   Columns("A:X").Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom    UserForm_Initialize End Sub
  Private Sub UserForm_Initialize()               'Userform zurücksetzen    Dim i As Long    ComboBox1.Clear    ComboBox1.AddItem "Neuen Patienten hinzufügen"    For i = 4 To Cells(Rows.Count, 1).End(xlUp).Row       ComboBox1.AddItem Cells(i, 1) & ", " & Cells(i, 2)    Next i    ComboBox1.ListIndex = 0 End Sub
  Private Sub CommandButton3_Click()              'Eingabe abbrechen    Unload Me End Sub
  
 
  Eingabemaske2 probe - V02.xls (Größe: 97 KB / Downloads: 7)
	  
	
	
	
	
 
 
	 
 |