Anzeige
Archiv - Navigation
568to572
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
568to572
568to572
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hochzählen in VBA

Hochzählen in VBA
17.02.2005 21:47:19
Jupp
Hallo Excel-Experten,
brauche mal professionelle Hilfe, für folgendes Problem:
ich habe bislang,unsere täglichen Wareneingänge mit folgender Formel realisiert
und zwar wie folgt:
Spalte "A" Zeile "17" "=WENN(B16="";"";A16+1)
bis
Spalte "A" Zeile "41" "=WENN(B40="":"";A40+1)
Spaltenwechsel
Spalte "G" Zeile "16" "=WENN(B40="";"";A41+1)
Spalte "G" Zeile "17" "=WENN(H16="";"";G16+1)
bis
Spalte "G" Zeile "26" "=WENN(H25="";"";G25+1)
Obige Formelei möchte ich gerne in VBA schreiben, habe aber keine Ahnung wie dass geht. Für Eure Mühe, möchte ich mich schon im voraus bedanken.
Mit freundlichen Grüssen
Jupp Thelen

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hochzählen in VBA
Jan
Hi,
du verwechselst Profi mit Demagoge. Ein Profi setzt das ein, was am sinnvollsten
und am speichersparensten ist. Für eine simple Nummerierung speicherresidente
Formeln einzusetzen ist nicht effektiv.
mfg Jan
AW: Hochzählen in VBA
17.02.2005 23:53:43
Josef
Hallo Jupp!
Wenn du das unbedingt mit VBA lösen willst, dann z.B. so!


      
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, i As Integer
'Nur wirksam bei Änderungen im Bereich "B16:B40" und "G16:G26"
If Not Intersect(Target, Range("B16:B40,G16:G26")) Is Nothing Then
On Error GoTo ERRORHANDLER
With Application
.EnableEvents = 
False      'Ereignisse ausschalten
.ScreenUpdating = False    'Bildschirmaktualisierung ausschalten
.Cursor = xlWait           'Cursor "ruhigstellen"
End With
   
'Alle Zellen des Bereiches durchlaufen
   For Each rng In Range("B16:B40,G16:G26")
   
   rng.Offset(0, -1) = 
""  '"Alte" Nummereierung entfernen
   
      
If rng <> "" Then    'Nummerierung neu setzen
         i = i + 1
         rng.Offset(0, -1) = i
      
End If
      
   
Next
End If
ERRORHANDLER:  
'Fehlerbehandlung

With Application
.EnableEvents = 
True     'Ereignisse einschalten
.ScreenUpdating = True   'Bildschirmaktualisierung einschalten
.Cursor = xlDefault
End With
End Sub 
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Hochzählen in VBA
18.02.2005 10:01:02
Jupp
Hallo Excel Experten,
Danke Dir Sepp, genau die Lösung !
Danke für eure Belehrungen, aber das TB wird täglich mehrmals gelöscht und wieder
neu beschrieben. Dabei passiert es immer wieder, dass die Formel in Spalte "A"
überschrieben wird.
Wegen dem Löschmakro, kann ich die Spalten nicht sperren.
Danke nochmals und ein schönes Wochenende
Jupp

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige