Tabellenblatt wechseln wenn Zelle "C" voll

Bild

Betrifft: Tabellenblatt wechseln wenn Zelle "C" voll
von: Heli
Geschrieben am: 19.11.2015 13:48:14

Hallo!
Ich beauche mal eure Hilfe:
Ich hab eine Tabelle (Artikel) und mit dem VBA-Code kann ich per Doppel-Klick die Zellinhalte in ein Rechnungs-Formular (Seite 1) schreiben - soweit funktioniert alles!
Jedoch habe ich nur für 30 Zeilen Platz - und wenn die Zelle C58 einen Wert "x" (text oder Zahl ist egal) hat, dann soll auf die Seite 2 (Tabelle2) gewechselt werden. Das ganze nochmal von Vorne für Seite 2 auf Seite 3.
Hier mein Code:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    
    Dim Zeile As Long, z As Integer
    Dim Artikel As String, Einheit As String, Preis As Currency
    Dim ersteZeile As Integer, letzteZeile As Integer
    Zeile = ActiveCell.Row
    Artikel = Cells(Zeile, 2)
    Einheit = Cells(Zeile, 3)
    Preis = Cells(Zeile, 4)
    
With Worksheets("Rechnung Seite 1")
    .Activate
    letzteZeile = 29
    .Cells(letzteZeile, 3).Select
    Do    ' lezte Zeile suchen
    If .Cells(letzteZeile, 3).Value = "" Then Exit Do
       letzteZeile = letzteZeile + 1
    Loop
    
    
    ' Positionen eintragen
    .Cells(letzteZeile, 7).Value = Einheit
    .Cells(letzteZeile, 3).Value = Artikel
    .Cells(letzteZeile, 8).Value = Preis
    .Cells(letzteZeile, 6).Select           'Position
End With
End Sub

Bild

Betrifft: AW: Tabellenblatt wechseln wenn Zelle "C" voll
von: Rudi Maintaire
Geschrieben am: 19.11.2015 14:07:01
Hallo,

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  
  Dim Zeile As Long, z As Integer
  Dim Artikel As String, Einheit As String, Preis As Currency
  Dim ersteZeile As Long, letzteZeile As Long
  Dim wksRe As Worksheet
  Cancel = True
  If Worksheets("Rechnung Seite 1").Cells(58, 3) = "" Then
    Set wksRe = Worksheets("Rechnung Seite 1")
  Else
    Set wksRe = Worksheets("Rechnung Seite 2")
  End If
  Zeile = ActiveCell.Row
  Artikel = Cells(Zeile, 2)
  Einheit = Cells(Zeile, 3)
  Preis = Cells(Zeile, 4)
  letzteZeile = 29
  
  With wksRe
    Do While .Cells(letzteZeile, 3).Value <> ""   ' letzte Zeile suchen
      letzteZeile = letzteZeile + 1
    Loop
    ' Positionen eintragen
    .Cells(letzteZeile, 7).Value = Einheit
    .Cells(letzteZeile, 3).Value = Artikel
    .Cells(letzteZeile, 8).Value = Preis
  End With
End Sub

Gruß
Rudi

Bild

Betrifft: AW: Tabellenblatt wechseln wenn Zelle "C" voll
von: Heli
Geschrieben am: 19.11.2015 14:21:33
Hallo Rudi!
Danke für deine prompte Hilfe!
Funktioniert auch super, bis auf eine Kleinigkeit: nach dem "Doppelklick" soll die Zelle in Spalte F in der der Eintrag erfolgte (z.B. F29) auf Seite 2 selektiert werden.

Bild

Betrifft: AW: Tabellenblatt wechseln wenn Zelle "C" voll
von: Rudi Maintaire
Geschrieben am: 19.11.2015 14:36:30
Hallo,

  With wksRe
    Do While .Cells(letzteZeile, 3).Value <> ""   ' letzte Zeile suchen
      letzteZeile = letzteZeile + 1
    Loop
    ' Positionen eintragen
    .Cells(letzteZeile, 7).Value = Einheit
    .Cells(letzteZeile, 3).Value = Artikel
    .Cells(letzteZeile, 8).Value = Preis
    .activate
    .cells(letzteZeile, 6).select
  End With
Gruß
Rudi

Bild

Betrifft: AW: Tabellenblatt wechseln wenn Zelle "C" voll
von: Heli
Geschrieben am: 19.11.2015 15:36:25
Hallo Rudi!
DANKE - Perfekt!!!!

Bild

Betrifft: AW: Tabellenblatt wechseln wenn Zelle "C" voll
von: Heli
Geschrieben am: 19.11.2015 20:35:11
Hallo Rudi!
Kannst Du mir bitte noch die "Seite 3" einbauen...so wie am Anfang beschrieben
Vielen Dank
Heli

Bild

Betrifft: AW: Tabellenblatt wechseln wenn Zelle "C" voll
von: Werner
Geschrieben am: 19.11.2015 21:41:35
Hallo Heli,
bersuchs mal so, ist aber ungetestet.

If Worksheets("Rechnung Seite 1").Cells(58, 3) = "" Then
        Set wksRe = Worksheets("Rechnung Seite 1")
     ElseIf Worksheets("Rechnung Seite 2").Cells(58, 3) = "" Then
        Set wksRe = Worksheets("Rechnung Seite 2")
     Else
        Set wksRe = Worksheets("Rechnung Seite 3")
End If
Gruß Werner

Bild

Betrifft: AW: Tabellenblatt wechseln wenn Zelle "C" voll
von: Heli
Geschrieben am: 20.11.2015 06:25:04
Hallo Werner!
DANKE DANKE DANKE - funktioniert bestens!
Gruß
Heli

Bild

Betrifft: AW: Gerne und Danke für die Rückmeldung. o.w.T.
von: Werner
Geschrieben am: 20.11.2015 08:42:25


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Tabellenblatt wechseln wenn Zelle "C" voll"