Collapse column

Beiträge anzeigen

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
Excel / bestimmte Zelle ansteuern
« 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
Excel / Antw:Office 2010: Tabelle mit unterschiedlichen Usern
« 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
Excel / Office 2010: Antw:Office 2010: Tabelle mit unterschiedlichen Usern
« 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
Excel / Office 2010: Tabelle mit unterschiedlichen Usern
« 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
Excel / Excel VBA debuggen
« 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]