Registriert seit: 29.05.2023
Version(en): 365
Auch da gebe ich die vollkommen recht, und auch das habe ich nicht beachtet. Aber!! Wenn der bearbeitende Mitarbeiter in D "Planung an Kd." schon ein Datum eingetragen hat, wird dieser Fall nicht mehr geändert oder gelöscht. Aber eigentlich um Datenmüll zu mindern, müsste natürlich alles was hinter B an Text eingegeben wird gelöscht werden. Aber ich glaube das ist erstmal nicht nötig, denke ich.
Registriert seit: 16.08.2017
Version(en): 2007 / 2010 / Web
29.05.2023, 17:24
(Dieser Beitrag wurde zuletzt bearbeitet: 29.05.2023, 17:24 von Elex.)
Ich habe zwar Zweifel an der Vorgehensweise, aber Versuch macht Kluch. Ohne Testdatei mach ich aber kein Code. Denn so hast du Recht, geht es nicht ohne VBA.
Registriert seit: 18.10.2020
Version(en): 365
29.05.2023, 17:25
(Dieser Beitrag wurde zuletzt bearbeitet: 29.05.2023, 17:36 von Warkings.)
Zitat:Ohne Testdatei mach ich aber kein Code.
Irgendwie hatten wir den Ruf nach einer Beispieldatei das schon mal.
Da ein Bild kommen wird, empfehle ich Gimp
Registriert seit: 29.05.2023
Version(en): 365
Danke Elex!
Ich habe eins meiner Probleme selber gefunden, hier der richtige Code
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
Dim xRg As Range
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each xRg In Range("A1:A900")
If (xRg.Value = "") Or (xRg.Value = "0") Then
xRg.EntireRow.Hidden = True
Else
xRg.EntireRow.Hidden = False
End If
Next xRg
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Call Calculate
End Sub
Registriert seit: 13.04.2014
Version(en): 365
29.05.2023, 19:04
(Dieser Beitrag wurde zuletzt bearbeitet: 29.05.2023, 19:06 von BoskoBiati.)
gelöscht, Gedankenfehler.
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 16.08.2017
Version(en): 2007 / 2010 / Web
Hi
Zitat:Application.Calculation = xlCalculationManual
Das bringt Verbesserung? Hast du Formeln mit Teilergebnis in der Datei? Sonst dürft das Ein/Ausblenden keine Berechnung hervorrufen.
Registriert seit: 28.08.2022
Version(en): 365
29.05.2023, 19:20
(Dieser Beitrag wurde zuletzt bearbeitet: 29.05.2023, 19:53 von HKindler.)
Hi,
dein Vorgehen ist generell falsch.
Aber da du trotzdem dabei bleiben wirst (das Spielchen kennen wir alle, spätestens bei der 5. Nachfrage kommt dann: "geht nicht, denn das haben wir immer schon so gemacht" und bei der 7. Nachfrage dann: "der Chef will es aber so"), gebe ich dir mal einen Tipp, wie du locker den Faktor 1000 an Rechentempo rausholen kannst:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
Dim vA As Variant
Dim i As Long
Dim rgWeg As Range
'Application.ScreenUpdating = False 'Überflüssig
'Application.Calculation = xlCalculationManual 'Überflüssig
vA = Range("A1:A900")
For i = 1 to 900
If (vA(i, 1) = "") Or (vA(i, 1) = "0") Then
If rgWeg Is Nothing Then
set rgWeg = Rows(i)
Else
Set rgWeg = Union(rgWeg, Rows(i) 'war: Intersect(rgWeg, Rows(i))
End If
End If
Next I
Rows("1:900").Hidden = False
rgWeg.Hidden = True
'Application.ScreenUpdating = True 'überflüssig
'Application.Calculation = xlCalculationAutomatic 'überflüssig
Call Calculate 'vermutlich ebenfalls überflüssig, aber ich lass es mal drin
End Sub
Gruß,
Helmut
Win10 - Office365 / MacOS - Office365
Registriert seit: 18.10.2020
Version(en): 365
29.05.2023, 19:46
(Dieser Beitrag wurde zuletzt bearbeitet: 29.05.2023, 19:47 von Warkings.)
Das
rgWeg.Hidden = True dürfte aber auch nicht gehen, da fehlt doch ein
rows, oder?Und
Set rgWeg = Intersect(rgWeg, Rows(i)) scheint auch nicht ganz korrekt
Folgende(r) 1 Nutzer sagt Danke an Warkings für diesen Beitrag:1 Nutzer sagt Danke an Warkings für diesen Beitrag 28
• HKindler
Registriert seit: 28.08.2022
Version(en): 365
29.05.2023, 19:52
(Dieser Beitrag wurde zuletzt bearbeitet: 29.05.2023, 19:54 von HKindler.)
Hi Warkings,
danke für den Hinweis, habe oben das Intersect() zu Union() geändert (so wie es eigentlich sowieso von mir gedacht war).
rgWeg.Hidden sollte eigentlich klappen, da es ja ganze Reihen sind. Wenn nicht müsste man es tatsächlich durch rgWeg.EntireRow.Hidden ersetzen. Kann es leider nicht testen, da ich gerade am iPad sitze...
Gruß,
Helmut
Win10 - Office365 / MacOS - Office365