Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Max suchen in allen Blättern Spalte C

Max suchen in allen Blättern Spalte C
uwe
Hallo,
ich will bei nach Eingabe einer Zahl in Spalte B (Kundennummer) eine neue Rechnungsnummer in Spalte C daneben schreiben. Dazu müssen alle Blätter (Januar, Februar, März....) nach der höchsten Nummer in Spalte C durchsucht werden. Die neue Rechnummer ist dann Max + 1
Gruss
Uwe
'Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("b:b")) Is Nothing Then
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Max suchen in allen Blättern Spalte C
04.02.2010 12:22:54
Josef
Hallo Uwe,

kopiere den Code in das Modul des entsprechenden Blattes.

' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim intMonth As Integer, lngMax As Long
  On Error GoTo ErrExit
  
  With Target(1, 1)
    If .Column = 2 Then
      Application.EnableEvents = False
      For intMonth = 1 To 12
        lngMax = Application.Max(lngMax, Sheets(Format(DateSerial(1, intMonth, 1), _
          "MMMM")).Columns(3))
      Next
    End If
    .Offset(0, 1) = lngMax + 1
  End With
  ErrExit:
  Application.EnableEvents = True
End Sub

Gruß Sepp

Anzeige
AW: Max suchen in allen Blättern Spalte C-danke
04.02.2010 12:31:15
uwe
Hallo Sepp,
schnell und perfekt.
Danke
Gruss
Uwe
Perfekt und doch falsch!
04.02.2010 12:35:09
Josef
Hallo Uwe,

da hat sich ein kleiner Fehler eingeschlichen, so passt es.

' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim intMonth As Integer, lngMax As Long
  On Error GoTo ErrExit
  With Target(1, 1)
    If .Column = 2 Then
      Application.EnableEvents = False
      For intMonth = 1 To 12
        lngMax = Application.Max(lngMax, Sheets(Format(DateSerial(1, intMonth, 1), _
          "MMMM")).Columns(3))
      Next
      .Offset(0, 1) = lngMax + 1
    End If
  End With
  ErrExit:
  Application.EnableEvents = True
End Sub

Gruß Sepp

Anzeige
AW: Perfekt und doch falsch!
04.02.2010 19:08:14
Uwe
Hallo Sepp,
ich habe es geändert.
Ein Problem gab es mit dem Target - Bereich.
With Target(1, 1)
Ich frage jetzt gezielt nur
If Intersect(Target, Range("A3:A100")) Is Nothing Then Exit Sub
ab. Jetzt läuft es gut.
Gruss
Uwe
AW: Max suchen in allen Blättern Spalte C
04.02.2010 12:32:49
welga
Hallo Uwe,
versuch mal folgendes:
Private Sub worksheet_change(ByVal target As Range)
If Not Intersect(Range("B:B"), target) Is Nothing Then
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False
Max = 0
For i = 1 To ThisWorkbook.Sheets.Count
Sheets(i).Activate
a = ActiveSheet.UsedRange.Rows.Count
For aa = 1 To a
If Max 
Gruß
welga
Anzeige
AW: Max suchen in allen Blättern Spalte C
04.02.2010 19:02:26
Uwe
Hallo Welga,
danke für die Info.
Ich habe Sepps Lösung genommen.
Gruss
Uwe
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige