Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1340to1344
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
Inhaltsverzeichnis

Wert ersetzen und Zelle "Geschützt"

Wert ersetzen und Zelle "Geschützt"
10.12.2013 17:17:17
Dip
Hallo Allerseits,
Gerne würde ich folgende Problemstellung in das Forum einbringen:
Mit dem folgenden Makro werden zwei Nummern verglichen und bei Übereinstimmung der Planwert mit dem IST Wert im entsprechenden Monat überschrieben und "grün" formatiert.
Sub Uebernahme_IST_Werte() 'Kopiert Ist Werte aus HT_Ist Sheet in RollFor Sheet
Dim sSuchbedingungDE, sSuchbedingungFR, sSchalter, sFC, sIST, sISTorFC As String
Dim iLaufIst, iLaufFC, iStartZeileHT_Ist, iStartZeileFC, iEndZeileHT_Ist, iEndZeileFC,  _
iStartSpalteHT_Ist, iISTorFCZeile, iISTorFCSpalte, iZaehler, iModQuartal, iModJahr As Integer
'Initialisierung
iZaehler = 0
iISTorFCZeile = 6 'Zeile mit Auswahlliste IST bzw FC
iISTorFCSpalte = 90 'Spalte Start Monate im Blatt RollFor
sISTorFC = "FC" 'FC hier bezieht sich auf die Liste mit IST oder FC Zeile 6 im Blatt " _
RollFor"
iStartZeileHT_Ist = 18 'Startzeile der PSP im Blatt HT_IST
iStartSpalteHT_Ist = 4 'Startspalte mit den Monatswerten im Blatt HT_IST
iStartZeileFC = 12 'Startzeile der PSP im Blatt RollFor
sIST = "HT_IST"
sFC = "RollFor"
sSuchbedingungDE = "Gesamtergebnis"
sSuchbedingungFR = "Resultat totale"
iZeile = iStartZeileHT_Ist
'Worksheet definieren
Set wFC = ThisWorkbook.Worksheets(sFC)
Set wIST = ThisWorkbook.Worksheets(sIST)
'Bestimmung der Endzeile im Worksheet IST
Do Until wIST.Cells(iZeile, 1) = sSuchbedingungDE Or wIST.Cells(iZeile, 1) =  _
sSuchbedingungFR
iZeile = iZeile + 1
Loop
'Hier steht die Endzeile im Worksheet IST
iEndZeileHT_Ist = iZeile
'Bestimmung der Endzeile im Worksheet RollFor -> 1000ste Zeile ggf. anpassen!!!
For iZeile = 1000 To 1 Step -1
If Not wFC.Cells(iZeile, 2).Value = "" Then
iEndZeileFC = iZeile
Exit For
End If
Next
'Prüft ob IST eingestellt ist. Wenn FC, dann bricht er ab.
Do Until wFC.Cells(iISTorFCZeile, iISTorFCSpalte) = sISTorFC
iZaehler = iZaehler + 1
'Falls auf Quartalsbasis geändert wird "Mod 5" auskommentieren.
'iModQuartal = iZaehler Mod 5
iModJahr = iZaehler Mod 13
'Abfrage, ob Summenspalte. Wenn ja, dann nächste Spalte prüfen
'If Not iModQuartal = 0 Then
'Prüfe auf erfüllte Bedingungen
If Not iModJahr = 0 Then
For iLaufIst = iStartZeileHT_Ist To iEndZeileHT_Ist
'Für alle nicht leeren Zellen
If wIST.Cells(iLaufIst, 2).Value  "" Then
For iLaufFC = iStartZeileFC To iEndZeileFC
'Vergleiche die PSP Werte
'Zweite Bedingung wenn nötig: And wIST.Cells(iLaufIst, 5).Value =  _
wFC.Cells(iLaufFC, 4).Value
If wIST.Cells(iLaufIst, 2).Value = wFC.Cells(iLaufFC, 3).Value Then
'Schreibe Werte aus HT_Ist in FC rein
wFC.Cells(iLaufFC, iISTorFCSpalte).Value = wIST.Cells(iLaufIst,  _
iStartSpalteHT_Ist + iZaehler - 1).Value / 1000
'Schriftfarbe
wFC.Cells(iLaufFC, iISTorFCSpalte).Font.Color = RGB(0, 153, 0)
End If
Next iLaufFC
End If
Next iLaufIst
End If
'End If
iISTorFCSpalte = iISTorFCSpalte + 1
Loop
End Sub
Ich würde noch gerne, dass wenn es keine Übereinstimmung gibt, der Planwert mit Null (0) überschrieben und die entsprechende Zelle als "Geschützt" formatiert wird.
Ich habe es versucht, jedoch keine Lösung finden können, wie ich es am besten umsetze...
Ich bin über jede Hilfe, Hinweis sehr dankbar!
Beste Grüsse
Dip

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert ersetzen und Zelle "Geschützt"
11.12.2013 10:40:03
UweD
Hallo
ohne alles zu testen....
Betrifft diesen Teil des Makros..
der müsste so aussehen...
    If wIST.Cells(iLaufIst, 2).Value = wFC.Cells(iLaufFC, 3).Value Then
'Schreibe Werte aus HT_Ist in FC rein
wFC.Cells(iLaufFC, iISTorFCSpalte).Value = wIST.Cells(iLaufIst, _
iStartSpalteHT_Ist + iZaehler - 1).Value / 1000
'Schriftfarbe
wFC.Cells(iLaufFC, iISTorFCSpalte).Font.Color = RGB(0, 153, 0)
Else
wFC.Cells(iLaufFC, iISTorFCSpalte).Value = 0
wFC.Cells(iLaufFC, iISTorFCSpalte).Locked = True
End If
Gruß UweD

AW: Wert ersetzen und Zelle "Geschützt"
12.12.2013 15:08:37
Dip
Hallo UweD,
Danke für Deine Antwort!
Leider überschreibt er den Planwert mit 0 bei Nichtübereinstimmung nur im 1.Monat, danach geht er nicht in die nächste Spalte (2. Monat) und überschreibt dort den Planwert, sondern bleibt stecken und rechnet in einer Endlosschleife...
Woran könnte das liegen?
Grüsse
Dip

Anzeige
AW: Wert ersetzen und Zelle "Geschützt"
12.12.2013 23:41:10
Dip
Eine Ergänzung!:
bevor der Value in wIST. mit dem Value in wFC. vergleicht wird, soll es prüfen, ob der Value in Spalte 81 in wFC = "04" entspricht... dann soll er den Code ausführen, sonst in die nächste Zeile springen und die gleiche Prüfung durchführen bis zur letzten Zeile...
Grüsse
Dip

AW: Musterdatei?
13.12.2013 09:58:31
UweD
Ich denke ohne Beispielmappe geht da keiner dran.

AW: Musterdatei?
14.12.2013 13:31:47
Dip
Hallo UweD,
Hier die Musterdatei:
https://www.herber.de/bbs/user/88512.xlsx
Hoffe dies hilft Euch weiter.
Danke und Grüsse
Dip

Anzeige
AW: Musterdatei?
16.12.2013 09:43:46
UweD
Hallo
völlig unzureichende Datei.
- Die Tabellenblätter,die durchsucht werden sollen sind nicht da
- keine Daten, die verglichen werden sollen, alles leer oder 0
So wird dir keiner helfen können
Gruß UweD

AW: Musterdatei?
17.12.2013 08:56:54
Dip
Guten Tag UweD,
Entschudlige meine unvollständige Musterdatei. Die Originaldatei ist zu gross um sie hochladen zu können, deshalb habe ich sie so klein wie möglich halten wollen. Ich habe nun die für den Code notwendigen Blätter/Daten hinzugefügt.
Hoffe das ist so ok.
https://www.herber.de/bbs/user/88545.xlsx
Beste Grüsse
Dip
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige