Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
692to696
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
692to696
692to696
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kontrolle

Kontrolle
11.11.2005 07:28:31
Peter
Liebe Excelgemeinde,
ich stehe vor folgendem Problem.
Eine Blatt ist mit ca. 15.000 Zeilen von A:K gefüllt. Diese Zellen werden in Folge einer Aktualisierung gelöscht und mit neuen Zeilen in diesem Bereich aufgefüllt.
Gibt es eine Möglichkeit die Anzahl der vorher gefüllten Zeilen mit der Anzahl der Neuen zu vergleichen und wenn es mehr werden, sollte in der Zelle K1 ein Kennzeichen gesetzt werden.
Danke für Eure Hilfe
Peter D

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

Betreff
Datum
Anwender
Anzeige
AW: Kontrolle
11.11.2005 08:32:44
Unbekannter
Geht,aber ich brauche Code für deine Aktualisierung
Gruß UN1
AW: Kontrolle
11.11.2005 08:54:25
Peter
Hallo UN1,

Sub Number1HPS()
azz = ActiveCell.Row
azs = ActiveCell.Column
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Sheets("TabelleHPS").Select
'Löschen
Range("A2:L1500").Select
Selection.ClearContents
Range("A1").Select
'neue einfügen
Workbooks.Open Filename:="I:\INFO1\HPS_Nutzgrad\nutzgrad.xls"
ActiveWindow.ScrollColumn = 1
Range("A2:L1500").Select
Selection.Copy
Windows("verchrAnlagen.xls").Activate
ActiveSheet.Paste
Range("A1").Select
Windows("nutzgrad.xls").Activate
ActiveWorkbook.Close
'hier soll der Bereich markiert werden
zl = Range("A:L").Find("*", searchdirection:=xlPrevious).Row
Range("C2:L" & zl).Select
'hier werden die Textformate umgewandelt in Zahlen
Selection.NumberFormat = "0"
Selection.NumberFormat = "0"
Spalten = Selection.Columns.Count
Zeilen = Selection.Rows.Count
For Each zelle In Selection
zelle.Value = zelle.Value * 1
Next zelle
Selection.NumberFormat = "0.00"
Range("a2").Select
zl = Range("A:L").Find("*", searchdirection:=xlPrevious).Row
Range("C2:L" & zl).Select
Selection.NumberFormat = "#,##0"
Range("a2").Select
Cells.Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Range("A1").Select
'---------ab hier prüfen, ob P1 gefüllt---JA weiter---NEIN Abruch mit Meldung
If Range("P1") = 1 Then
'Variablen deklarieren
Dim LrowL As Integer, LrowM As Integer
'letzte gefüllte Zeile in Spalte L
LrowL = Cells(Rows.Count, 12).End(xlUp).Row
'letzte gefüllte Zeile in Spalte M
LrowM = Cells(Rows.Count, 13).End(xlUp).Row
'automatisch die Formeln der Spalten M bis O bis letzte Zeile der Spalte L ergänzen
Range("M" & LrowM & ":O" & LrowM).Select
Selection.AutoFill Destination:=Range("M" & LrowM & ":O" & LrowL)
Range("P1") = 0
Range("A1").Select
Sheets("HPS").Select
Else
MsgBox ("Neue Daten der HPS-Anlage sind nicht vorhanden")
Range("P1") = 0
Sheets("Start").Select
Application.Run "VerchrAnlagen.xls!BlätterAusblenden"
Range("B3:Q3").Select
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
'MsgBox ("Neue Daten sind jetzt verfügbar")
End Sub

Anzeige
AW: Kontrolle
11.11.2005 09:17:37
Unbekannter
Also es zählt jetzt alle Zellen die Werte enthalten und vergleicht das ergebniss mit der Anzahl nach deien Macro und gibt es mit ner Msgbox aus.Du solltest mit dem Macro soweit klarkommen das du es dir noch anpassen kannst.Ich habe die Änderung markiert
Sub Number1HPS()
Dim zuvor, danach As Long 'von mir
zuvor = zählen 'von mir
azz = ActiveCell.Row
azs = ActiveCell.Column
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Sheets("TabelleHPS").Select
'Löschen
Range("A2:L1500").Select
Selection.ClearContents
Range("A1").Select
'neue einfügen
Workbooks.Open Filename:="I:\INFO1\HPS_Nutzgrad\nutzgrad.xls"
ActiveWindow.ScrollColumn = 1
Range("A2:L1500").Select
Selection.Copy
Windows("verchrAnlagen.xls").Activate
ActiveSheet.Paste
Range("A1").Select
Windows("nutzgrad.xls").Activate
ActiveWorkbook.Close
'hier soll der Bereich markiert werden
zl = Range("A:L").Find("*", searchdirection:=xlPrevious).Row
Range("C2:L" & zl).Select
'hier werden die Textformate umgewandelt in Zahlen
Selection.NumberFormat = "0"
Selection.NumberFormat = "0"
Spalten = Selection.Columns.Count
Zeilen = Selection.Rows.Count
For Each zelle In Selection
zelle.Value = zelle.Value * 1
Next zelle
Selection.NumberFormat = "0.00"
Range("a2").Select
zl = Range("A:L").Find("*", searchdirection:=xlPrevious).Row
Range("C2:L" & zl).Select
Selection.NumberFormat = "#,##0"
Range("a2").Select
Cells.Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Range("A1").Select
'---------ab hier prüfen, ob P1 gefüllt---JA weiter---NEIN Abruch mit Meldung
If Range("P1") = 1 Then
'Variablen deklarieren
Dim LrowL As Integer, LrowM As Integer
'letzte gefüllte Zeile in Spalte L
LrowL = Cells(Rows.Count, 12).End(xlUp).Row
'letzte gefüllte Zeile in Spalte M
LrowM = Cells(Rows.Count, 13).End(xlUp).Row
'automatisch die Formeln der Spalten M bis O bis letzte Zeile der Spalte L ergänzen
Range("M" & LrowM & ":O" & LrowM).Select
Selection.AutoFill Destination:=Range("M" & LrowM & ":O" & LrowL)
Range("P1") = 0
Range("A1").Select
Sheets("HPS").Select
Else
MsgBox ("Neue Daten der HPS-Anlage sind nicht vorhanden")
Range("P1") = 0
Sheets("Start").Select
Application.Run "VerchrAnlagen.xls!BlätterAusblenden"
Range("B3:Q3").Select
End If
danach = zählen 'von mir
If zuvor danach Then 'von mir
MsgBox "Es hat sich was geändert" 'von mir
Else 'von mir
MsgBox "Alles gleich" 'von mir
End If 'von mir
Application.DisplayAlerts = True
Application.ScreenUpdating = True
'MsgBox ("Neue Daten sind jetzt verfügbar")
End Sub

Private Function zählen() As Long 'von mir
Dim Anzahl As Long
For a = 1 To 11
For b = 1 To 65500
If Cells(b, a).Value <> "" Then
zählen = zählen + 1
End If
Next b
Next a
End Function

Gruß UN1
Anzeige
AW: Kontrolle
11.11.2005 09:58:37
Peter
Das mit den Boxen funktioniert, aber statt diesen Boxen sollte eine 1 in die Zelle K1 geschrieben werden, wenn eine Änderung erfolgt ist, bei keiner einer 0.
Der Sinn besteht darin, daß ich dadurch bei 1 die weiteren Makros weiter laufen lasse, wenn keine Änderung (=0) vorhanden sollte das Makro bzw. die folgenden abgebrochen werden.
Gruß
Peter
AW: Kontrolle
11.11.2005 10:05:10
Unbekannter
So,aber das hätteste doch selber geschafft.
If zuvor danach Then
range("k1").value=1
Else
MsgBox "Alles gleich"
End If
AW: Kontrolle
11.11.2005 11:11:41
Peter
irgendwie bekomme ich das nicht auf die Reihe,habe nochmal meine Änderungen kopiert.
1. Sollte die Anzahl der Zeilen gezählt werden
2. die Daten gelöscht werden
3. neue kopiert werden - Zeilen zählen
4. prüfen, ob neue vorhanden sind,
dann weiterlaufen
5. wenn keine vorhanden sind Abbruch
Vielleicht kannst Du nochmal drüber schauen.
Gruß
Peter
Sub Number1HPS()
Dim zuvor, danach As Long 'von mir
zuvor = zählen 'von mir
azz = ActiveCell.Row
azs = ActiveCell.Column
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Sheets("TabelleHPS").Select
'-----------1.
Application.Run "Modul3.zählen"
'-----------2. Löschen
Range("A2:L1500").Select
Selection.ClearContents
Range("A1").Select
'-----------3.neue einfügen
Workbooks.Open Filename:="I:\INFO1\HPS_Nutzgrad\nutzgrad.xls"
ActiveWindow.ScrollColumn = 1
Range("A2:L1500").Select
Selection.Copy
Windows("verchrAnlagen.xls").Activate
ActiveSheet.Paste
Range("A1").Select
Windows("nutzgrad.xls").Activate
ActiveWorkbook.Close
'hier soll der Bereich markiert werden
zl = Range("A:L").Find("*", searchdirection:=xlPrevious).Row
Range("C2:L" & zl).Select
'hier werden die Textformate umgewandelt in Zahlen
Selection.NumberFormat = "0"
Selection.NumberFormat = "0"
Spalten = Selection.Columns.Count
Zeilen = Selection.Rows.Count
For Each zelle In Selection
zelle.Value = zelle.Value * 1
Next zelle
Selection.NumberFormat = "0.00"
Range("a2").Select
zl = Range("A:L").Find("*", searchdirection:=xlPrevious).Row
Range("C2:L" & zl).Select
Selection.NumberFormat = "#,##0"
Range("a2").Select
Cells.Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Range("A1").Select
'---------4. ab hier prüfen, ob P1 gefüllt---JA weiter---NEIN Abruch mit Meldung
If zuvor danach Then
Range("p1").Value = 1
If Range("P1") = 1 Then
'Variablen deklarieren
Dim LrowL As Integer, LrowM As Integer
'letzte gefüllte Zeile in Spalte L
LrowL = Cells(Rows.Count, 12).End(xlUp).Row
'letzte gefüllte Zeile in Spalte M
LrowM = Cells(Rows.Count, 13).End(xlUp).Row
'automatisch die Formeln der Spalten M bis O bis letzte Zeile der Spalte L ergänzen
Range("M" & LrowM & ":O" & LrowM).Select
Selection.AutoFill Destination:=Range("M" & LrowM & ":O" & LrowL)
Range("A1").Select
Sheets("HPS").Select
'------------5. Abbruch, wenn keine Änderung
Else
MsgBox ("Neue Daten der HPS-Anlage sind nicht vorhanden")
Range("P1") = 0
Sheets("Start").Select
Application.Run "VerchrAnlagen.xls!BlätterAusblenden"
Range("B3:Q3").Select
End If
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
'MsgBox ("Neue Daten sind jetzt verfügbar")
End Sub

Private Function zählen() As Long 'von mir
Dim Anzahl As Long
For a = 1 To 2
For b = 1 To 65500
If Cells(b, a).Value <> "" Then
zählen = zählen + 1
End If
Next b
Next a
End Function

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige