Menü
An- und Abmelden
Partner / Links
|
Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.
Nachrichten - Reza
Seiten: [1]
1
« am: Januar 24, 2019, 09:43:42 Vormittag »
Servus Excel-Experten,
ich habe eine Mängelliste angefertigt, mit einigen Filterbuttons. Leider kommt es immer wieder zu Irritationen, über die Button-Nutzung. Würde jetzt einerseits gerne die Möglichkeit haben, einen bestimmten Button bei Öffnung der Datei, anzusteuern. (der Filterresestbutton) Außerdem hätte ich gerne, das das nächste freie Feld in der Spalte B angesteuert wird. gibt's da eine einfache Lösung? Vielen Dank schon einmal und lieben Gruß....
2
« am: Mai 23, 2018, 16:33:10 Nachmittag »
Danke Detlef,
vielen Dank für deinen erneuten Hinweis, es ist auch kein Verein. Deine Einwände in Ehren, ich kann aber nicht von ehrenamtlichen Helfern, erwarten, das sie sich auch noch Excel Schulen oder Kenntnisse erarbeiten. Unabhängig davon, geht es nur darum, das nicht unbeabsichtigt Eingaben gelöscht werden oder verändert werden. Wenn meine begrenzten Excel-Kenntnisse ausreichen würden, hätte ich hier nicht gefragt. Dachte dafür ist das Forum gedacht. LG Reza
3
« am: Mai 22, 2018, 07:47:28 Vormittag »
Servus DL,
ist nicht für den Betrieb, bin ehrenamtlich Tätig und dabei passieren immer wieder unterschiedliche Dinge, die wir dann erfassen, damit jeder von uns auf dem neusten Stand ist und wir eine Übersicht über die getroffenen Maßnahmen haben.
LG Reza
4
« am: Mai 22, 2018, 07:11:54 Vormittag »
Moin moin liebe Exceler,
würde gerne eine Tabelle erstellen, auf die verschiedene User zugreifen. Diese Tabelle sollte mehrere Spalten haben und sich nach Möglichkeit so verhalten, das ein unkundiger User, nichts "kaputt" machen kann. Mit unkundig meine ich, wirklich absolut MS unkundig, das sogar die Gefahr besteht, das nicht bekannt ist, wo man die Eingabe machen soll. Am liebsten wäre es mir, das die letzte Eingabe die gemacht wurde, in der Tabelle immer oben steht und es noch die Möglichkeit einer Filterung geben würde.
Habe bis jetzt mit mehreren verschiedenen Ansätzen gearbeitet, leider jedoch zu keinem zufriedenstellenden Ergebnis gekommen.
Würde mich über Vorschläge sehr freuen. LG Reza
5
« am: Februar 13, 2018, 21:16:56 Nachmittag »
Moin Excel-Experten,
leider hab ich ein kleines....ja nenn ich es mal so.... Problem. Ich versuche gerade für die Arbeit eine Excel-Datei zu erstellen, mit der Fehler im Betrieb gemeldet werden können. Im Prinzip, soll die Datei geöffnet werden und der Button für die Eingabe gedrückt werden. Dann soll sich die Maske mit den Eingabefeldern öffnen. Die Eingaben sollen erfolgen und die soll dann per Knopfdruck gespeichert werden.
Die 2. Funktion die erfüllt sein soll, ist die Selektion und Filterung der eingegebenen Daten. Das heißt auf der Startseite soll ein 2. Button mit Tabelle sein, der zu den Eingaben führt und auch wieder mit einer Maske die vorher eingegebenen Daten selektiert und anzeigt. Ich habe dazu schon grob einen Datei erstellt und mir auch schon das ein oder andere aus verschiedenen Internetforen zusammen gesucht. Leider reichen meine doch relativ eingeschränkten Kenntnisse nicht weiter aus, um die anstehenden Probleme zu lösen. Vielleicht kann es einer oder mehrere von euch.
Zur Beschreibung: Die Eingabe Maske hat 10 Eingabefelder und 4 Comandbuttons und ein Listenfeld in dem die Daten angezeigt werden.
Option Explicit Option Compare Text
Private Const iCONST_ANZAHL_EINGABEFELDER As Integer = 10
Private Const lCONST_STARTZEILENNUMMER_DER_TABELLE As Long = 2
Private Sub CommandButton1_Click() Call EINTRAG_ANLEGEN End Sub Private Sub CommandButton2_Click() Call EINTRAG_LOESCHEN End Sub
Private Sub CommandButton3_Click() Call EINTRAG_SPEICHERN End Sub
Private Sub CommandButton4_Click() Unload Me End Sub
Private Sub ListBox1_Click() Call EINTRAG_LADEN_UND_ANZEIGEN End Sub
Private Sub UserForm_Activate() If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 1 End Sub
Private Sub UserForm_Initialize() Call LISTE_LADEN_UND_INITIALISIEREN End Sub
' ************************************************************************************************ ' VERARBEITUNGSROUTINEN ' ************************************************************************************************
' Private Sub LISTE_LADEN_UND_INITIALISIEREN() Dim lZeile As Long Dim lZeileMaximum As Long Dim i As Integer For i = 1 To iCONST_ANZAHL_EINGABEFELDER Me.Controls("TextBox" & i) = "" Next i
ListBox1.Clear ListBox1.ColumnCount = 10 ListBox1.ColumnWidths = "0;;;;;;;;;" lZeileMaximum = Tabelle1.UsedRange.Rows.Count For lZeile = lCONST_STARTZEILENNUMMER_DER_TABELLE To lZeileMaximum If IST_ZEILE_LEER(lZeile) = False Then ListBox1.AddItem lZeile ListBox1.List(ListBox1.ListCount - 1, 1) = CStr(Tabelle1.Cells(lZeile, 1).Text) ListBox1.List(ListBox1.ListCount - 1, 2) = CStr(Tabelle1.Cells(lZeile, 2).Text) ListBox1.List(ListBox1.ListCount - 1, 3) = CStr(Tabelle1.Cells(lZeile, 3).Text) ListBox1.List(ListBox1.ListCount - 1, 4) = CStr(Tabelle1.Cells(lZeile, 4).Text) ListBox1.List(ListBox1.ListCount - 1, 5) = CStr(Tabelle1.Cells(lZeile, 5).Text) ListBox1.List(ListBox1.ListCount - 1, 6) = CStr(Tabelle1.Cells(lZeile, 6).Text) ListBox1.List(ListBox1.ListCount - 1, 7) = CStr(Tabelle1.Cells(lZeile, 7).Text) ListBox1.List(ListBox1.ListCount - 1, 8) = CStr(Tabelle1.Cells(lZeile, 8).Text) ListBox1.List(ListBox1.ListCount - 1, 9) = CStr(Tabelle1.Cells(lZeile, 9).Text) ListBox1.List(ListBox1.ListCount - 1, 10) = CStr(Tabelle1.Cells(lZeile, 10).Text) End If Next lZeile End Sub
Private Sub EINTRAG_LADEN_UND_ANZEIGEN() Dim lZeile As Long Dim i As Integer For i = 1 To iCONST_ANZAHL_EINGABEFELDER Me.Controls("TextBox" & i) = "" Next i If ListBox1.ListIndex >= 0 Then lZeile = ListBox1.List(ListBox1.ListIndex, 0) For i = 1 To iCONST_ANZAHL_EINGABEFELDER Me.Controls("TextBox" & i) = CStr(Tabelle1.Cells(lZeile, i).Text) Next i End If End Sub
Private Sub EINTRAG_SPEICHERN() Dim lZeile As Long Dim i As Integer If ListBox1.ListIndex = -1 Then Exit Sub lZeile = ListBox1.List(ListBox1.ListIndex, 0) For i = 1 To iCONST_ANZAHL_EINGABEFELDER Tabelle1.Cells(lZeile, i) = Me.Controls("TextBox" & i) Next i ListBox1.List(ListBox1.ListIndex, 0) = TextBox1 ListBox1.List(ListBox1.ListIndex, 1) = TextBox2 ListBox1.List(ListBox1.ListIndex, 2) = TextBox3 ListBox1.List(ListBox1.ListIndex, 3) = TextBox4 ListBox1.List(ListBox1.ListIndex, 4) = TextBox5 ListBox1.List(ListBox1.ListIndex, 5) = TextBox6 ListBox1.List(ListBox1.ListIndex, 6) = TextBox7 ListBox1.List(ListBox1.ListIndex, 7) = TextBox8 ListBox1.List(ListBox1.ListIndex, 8) = TextBox9 ListBox1.List(ListBox1.ListIndex, 9) = TextBox10 End Sub
Private Sub EINTRAG_LOESCHEN() Dim lZeile As Long If ListBox1.ListIndex = -1 Then Exit Sub If MsgBox("Sie möchten den markierten Datensatz wirklich löschen?", _ vbQuestion + vbYesNo, "Sicherheitsabfrage!") = vbYes Then lZeile = ListBox1.List(ListBox1.ListIndex, 0) Tabelle1.Rows(CStr(lZeile & ":" & lZeile)).Delete ListBox1.RemoveItem ListBox1.ListIndex End If End Sub
Private Sub EINTRAG_ANLEGEN() Dim lZeile As Long lZeile = lCONST_STARTZEILENNUMMER_DER_TABELLE Do While IST_ZEILE_LEER(lZeile) = False lZeile = lZeile + 1 Loop Tabelle1.Cells(lZeile, 1) = CStr("") ListBox1.AddItem lZeile ListBox1.List(ListBox1.ListCount - 1, 1) = CStr("" & lZeile) ListBox1.List(ListBox1.ListCount - 1, 2) = CStr("" & lZeile) ListBox1.List(ListBox1.ListCount - 1, 3) = CStr("" & lZeile) ListBox1.List(ListBox1.ListCount - 1, 4) = CStr("" & lZeile) ListBox1.List(ListBox1.ListCount - 1, 5) = CStr("" & lZeile) ListBox1.List(ListBox1.ListCount - 1, 3) = "" ListBox1.List(ListBox1.ListCount - 1, 4) = "" ListBox1.List(ListBox1.ListCount - 1, 5) = "" ListBox1.List(ListBox1.ListCount - 1, 6) = "" ListBox1.List(ListBox1.ListCount - 1, 7) = "" ListBox1.List(ListBox1.ListCount - 1, 8) = "" ListBox1.List(ListBox1.ListCount - 1, 9) = "" ListBox1.ListIndex = ListBox1.ListCount - 1 TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End Sub
Private Function IST_ZEILE_LEER(ByVal lZeile As Long) As Boolean Dim i As Long Dim sTemp As String sTemp = "" For i = 1 To iCONST_ANZAHL_EINGABEFELDER sTemp = sTemp & Trim(CStr(Tabelle1.Cells(lZeile, i).Text)) Next i If Trim(sTemp) = "" Then IST_ZEILE_LEER = True Else IST_ZEILE_LEER = False End If End Function
Für die 2 Maske zur Filterung habe ich leider noch nichts, außer das es auch 10 Ausgabefenster sein müssen und diese auch in einem Listenfeld angezeigt werden.
Dafür habe ich mal 2 Screenshots zum besseren Verständnis angehängt.... Das alles ist natürlich nicht in Stein gemeißelt, wenn ihr Verbesserungen oder strukturiertere Vorschläge habt, immer raus damit. Gleiches gilt für die Optik.
LG und vielen Dank an alle Mitdenker/Helfer/Ideengeber/Weitergeber/Unterstützer und und und :)
P.S. hab den Code nochmal als Anhang mitgeschickt, weil ich gesehen habe, das er hier mit Smilys angezeigt wird.
Seiten: [1]
|