Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Unterformula in Excel | Herbers Excel-Forum


Betrifft: Unterformula in Excel von: Stefan
Geschrieben am: 13.01.2010 15:37:39

Hallo Forum,
ich möchte eine Art Access Unterformular in Excel erstellen. Hierbei sollen die Einträge in das Unterformular indiziert werden. Dieser Index soll aber eben eindeutig sein und niemals ein zweites mal verwendet werden. Ich habe das ganz über eine Kombination von "Worksheet_Change(ByVal Target As Range)" und einem "Sverweis" abgebildet, aber da habe ich das Problem, das der Index bei erneuter Anwahl ein Duplikat erzeugt. Hat jemand einen Lösungsvorschlag wie ich den Index im Unterfolmular eindeutig darstellen kann?

Dank und Gruß

  

Betrifft: AW: Unterformula in Excel von: fcs
Geschrieben am: 13.01.2010 16:49:39

Hallo Stefan,

einen eindeutigen Index erstellt man am einfachsten als Max-Nummer in einer Spalte, die mit jedem neuen Datensatz um 1 erhöht wird.

Gruß
Franz

Beispiel:

Private Sub CB_Neu_Click()
  Dim IndexNr As Long, ZeileNeu As Long
  Dim wks As Worksheet
  If MsgBox("Neuen datensatz anlegen?", _
      vbQuestion + vbYesNo, "Datenbank") = vbYes Then
    Set wks = Worksheets("Tab1_A4q")
    With wks
      'Nächste Indexnummer in Spalte A berechnen
      IndexNr = Application.WorksheetFunction.Max(.Columns(1)) + 1
      ZeileNeu = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
      'Neuen Datensatz eintragen
      .Cells(ZeileNeu, 1) = IndexNr
      .Cells(ZeileNeu, 2) = Me.TextBox1.Value
    End With
  End If
End Sub



  

Betrifft: AW: Unterformula in Excel von: Stefan
Geschrieben am: 13.01.2010 17:32:22

Hallo Franz, danke für die schnelle Hilfe. Aber das geht an meinen Vorstellungen vorbei. Ich glaubve ich schließ an dieser Stelle thread und starte einen neuen nachdem ich ein Beispiel Datei dafür hergerichtet habe. Aber vielen Dank