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

Prüfung

Prüfung
02.02.2004 14:43:25
Monika
Hallo!
ich habe folgendes Problem. ich möchte mit einem Makro bestimmte Zellen überprüfen. wenn in der jeweiligen zelle ein fehler ist, soll eine msg box mit der fehlermeldung wie unten kommen. ich habe hier einen ausschnitt von dem code.
If ThisWorkbook.Sheets("DEZ").Range("G115") <> 0 And _
ThisWorkbook.Sheets("DEZ").Range("A115") = 0 And _
ThisWorkbook.Sheets("DEZ").Range("C115") = 0 _
Then _
a = MsgBox("Es wurde in" & vbCrLf & _
" dem Blatt DEZ in Zeile 115" & vbCrLf & _
"vergessen die Versicherungsart auszuwählen!" & vbCrLf & _
"Dieses muss jetzt nachgeholt werden, da jeder fehlende" & vbCrLf & _
"Wert die Berechnungen der Pivot Tabellen verfälscht.", _
0 + 48, "!!WICHTIG!! Liebe(r) " & Application.UserName)
folgendes:
dieser code muss ja jetzt für jede zeile erstellt werden. geht das auch anders? einen code, der automatisch vorgegebene Zellen überprüft und die jeweilige zeile in die msg box schreibt?
Danke für Eure Hilfe!
Monika

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfung
02.02.2004 14:51:50
Roland Hochhäuser
Hallo Monika,
wenn du verrätst, in welcher Zeile der Code anfangen und in welcher er enden soll, ist es ein Leichtes, das in einer Schleife zu erledigen. Dabei unterstelle ich mal, dass die Prüfung nur auf einem Blatt der Excelmappe passieren soll und außer den Spalten A,C und G nichts zu prüfen ist.
Gruß
Roland
AW: Prüfung
02.02.2004 15:12:04
Monika
Folgende Zeilen:
10:39
40:86
87:117
nein, in dieser Prüfung nicht, habe noch andere prüfungen, die auch andere Splaten prüfen, aber das kann ich doch vielleicht anpassen (mit deiner Hilfe? :-) )
Es soll für Tabellenblätter Januar - Dezemeber geschehen.
die zu prüfenden zeilen sind alle gleich.

Dank DIR!!!!!!!!!
Monika
Anzeige
AW: Prüfung
02.02.2004 16:12:00
Roland Hochhäuser
So, Besprechung endlich fertig :-)

Sub test()
Dim i As Byte, j As Byte
For j = 1 To ActiveWorkbook.Sheets.Count 'geht durch alle Blätter
For i = 10 To 117
If ThisWorkbook.Sheets("DEZ").Range("G" & i) <> 0 And _
ThisWorkbook.Sheets("DEZ").Range("A" & i) = 0 And _
ThisWorkbook.Sheets("DEZ").Range("C" & i) = 0 _
Then MsgBox "Es wurde in dem Blatt DEZ in Zeile " & i & vbCrLf & _
"vergessen die Versicherungsart auszuwählen!" & vbCrLf & _
"Dieses muss jetzt nachgeholt werden, da jeder fehlende" & vbCrLf & _
"Wert die Berechnungen der Pivot Tabellen verfälscht.", _
0 + 48, "!!WICHTIG!! Liebe(r) " & Application.UserName
Next
Next
End Sub

Ich habe jetzt mal alle Zeilen von 10-117 in eine Schleife gepackt; wenn du das segmentieren willst, schreib einfach den ganzen Code in ein anderes Makro und ändere in der Zeile For. . . . nur die entsprechenden Zahlen.
Gruß
Roland
Anzeige
AW: Prüfung
02.02.2004 16:16:22
Roland Hochhäuser
Kleiner Fehler, so natürlich

Sub test()
Dim i As Byte, j As Byte
For j = 1 To ActiveWorkbook.Sheets.Count 'geht durch alle Blätter
For i = 10 To 117
If ThisWorkbook.Sheets(j).Range("G" & i) <> 0 And _
ThisWorkbook.Sheets(j).Range("A" & i) = 0 And _
ThisWorkbook.Sheets(j).Range("C" & i) = 0 _
Then MsgBox "Es wurde in dem Blatt " & Sheets(j).Name & " in Zeile " & i & vbCrLf & _
"vergessen die Versicherungsart auszuwählen!" & vbCrLf & _
"Dieses muss jetzt nachgeholt werden, da jeder fehlende" & vbCrLf & _
"Wert die Berechnungen der Pivot Tabellen verfälscht.", _
0 + 48, "!!WICHTIG!! Liebe(r) " & Application.UserName
Next
Next
End Sub

Gruß Roland
Anzeige
AW: Prüfung
02.02.2004 17:00:40
Monika
Danke schonmal!!!
kann man die zeile für die WB ändern, auf wirklich nur JAN - DEZ? da ich auch noch andere blätter habe.......
Monika
AW: Prüfung
02.02.2004 17:12:15
Roland Hochhäuser
Hallo Monika,
. . .kann man die zeile für die WB ändern, auf wirklich nur JAN - DEZ?
Natürlich, dann müsste man nur wissen, wie deren Indices sind. Die kannst du feststellen, indem du dir im Projekt-Explorer die Indices der Blätter anschaust und notierst. Da dürfte z.B. drinstehen: Tabelle1(JAN), Tabelle2(FEB) usw.; der Index für den Januar ist dann 1 (Tabelle1), für den Februar 2(Tabelle2) usw.. Wenn du dann im Code die Zeile
For j = 1 To ActiveWorkbook.Sheets.Count
ersetzt durch
For j = 1 To 12 (also die festgestellten Indices)
wirst du das gewünschte Ergebnis bekommen.
Gruß
Roland
Anzeige
Sorry, falscher Beitrag
02.02.2004 15:01:18
AndreasS
...sorry!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige