Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
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

Programierung

Programierung
28.11.2020 16:15:39
Johannes
Sehr geehrte Spezialisten,
habe eine Datei hochgeladen und ich möchte folgendes Programiren.
wenn in der Zelle E18,bis E 27 eine 1 oder 2 steht, dann soll eine Sperre in den Zellen C 18 bis C27 ( Tag)
wenn aber in der Zelle eine 3 bis 5 steht soll die Zellen D18 bis D27 gesperrt werden
Hintergrund bei 1 und 2 ist das der Mini Bagger nur auf Std geht und die Tag gesperrt werden.
Hintergrund bei 3 bis 5 ist das alles andere nur auf Tage geht und die Stunden gesperrt werden
ich hoffe, das mir einer weiter helfen kann
Johannes

26
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Programierung
28.11.2020 16:17:16
Hajo_Zi
Hallo Johannes,
Hochladen ist gut, noch besser wenn Link in den Beitrag eingefügt wird.

AW: Programierung
28.11.2020 16:26:17
Johannes
Der Dateipfad wurde eingefügt
AW: Programierung
28.11.2020 16:36:27
Hajo_Zi
Die Beschreibung ist für eine andere Datei. Es stimmen die Zeile nicht überein.
Eingabe 1 ist nioch möglich. Darum keine Testung.
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf Deine Tabelle, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt nur in dieser Tabelle.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 And Target.Row >= 14 And Target.Row  23 Then
Select Case Target
Case 1, 2
ActiveSheet.Unprotect
MsgBox Target.Offset(2, 0).Address
Target.Offset(2, 0).Locked = True
Target.Offset(1, 0).Locked = False
ActiveSheet.Protect
Case 3, 4, 5
ActiveSheet.Unprotect
Target.Offset(2, 0).Locked = False
Target.Offset(1, 0).Locked = True
ActiveSheet.Protect
End Select
End If
End Sub

Anzeige
Fehler
28.11.2020 16:50:21
Hajo_Zi

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 And Target.Row >= 14 And Target.Row  23 Then
Select Case Target
Case 1, 2
ActiveSheet.Unprotect
Target.Offset(0, -2).Locked = False
Target.Offset(0, -1).Locked = True
ActiveSheet.Protect
Case 3, 4, 5
ActiveSheet.Unprotect
Target.Offset(0, -2).Locked = True
Target.Offset(0, -1).Locked = False
ActiveSheet.Protect
End Select
End If
End Sub
Gruß Hajo
AW: Fehler
28.11.2020 17:25:11
Johannes
Hallo Hajo
ich habe es versucht leider geht das nicht ich lade jetzt mal die Original Tabelle hoch
https://www.herber.de/bbs/user/141911.xlsm
Johannes
Anzeige
AW: Fehler
28.11.2020 17:34:35
Hajo_Zi
Hallo Johannes,
ich bin dann raus da mein Code nicht mehr relevant.
Er ist nich an der entsprechenden Stelle.
Viel Erfolg noch.
Gruß Hajo
AW: Fehler
28.11.2020 17:42:24
Johannes
Hallo Hajo
warum nicht mehr relevant
hab die VBA geöffnet und auch reinkopiert leider ging es nicht, oder ich hab was fasch gemacht
die Datei habe ich auch nicht gespeichert das Sie mal die Datei im Uhrsprung vorfinden.
jetzt weis ich nicht was ich tun soll
Grüße Johannes
AW: Fehler
28.11.2020 17:44:42
Hajo_Zi
Hallo Johannes,
Gut dann hast Du nicht die richtige Datei hochgeladen.
In dem Download ist der Code nicht an der entsprechenden Stelle. Darum bin ich raus.
Gruß Hajo
Anzeige
AW: Fehler
28.11.2020 17:45:47
ralf_b
falscher Platz.
der code gehört nicht in den codebereich des Workbooks ,sondern in den Codebereich der Tabelle.
und ich glaube mit den Zellbereichen ist auch was nicht in Ordnung.
probiers mal damit. Hajo hat sicher nichts dagegen.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 And Target.Row >= 18 And Target.Row 

AW: Fehler
28.11.2020 17:53:20
Johannes
Hallo Ralf
hier mal ein Bild
wo ich es kopiert habe
Userbild
Johannes
Anzeige
AW: Fehler
28.11.2020 18:05:15
ralf_b
ja so sollte es sein.
AW: Fehler
28.11.2020 18:07:18
Johannes
Hallo Ralf,
funktioniert leider nicht die Zellen sind nicht gesperrt
Johannes
AW: Fehler
28.11.2020 18:09:58
Johannes
Hallo Ralf,
Sorry hab das speichern vergessen.
ich Teste mal
Liebe Grüße Johannes
AW: Fehler
28.11.2020 18:13:15
Johannes
Hallo Ralf,
hab es getestet und es funktioniert alles Tipp Top
Liebe Grüße und noch ein schönes Wochenende
Johannes
na dann hier noch ein Bonus
28.11.2020 18:24:59
ralf_b

Sub Neuaufnahme()
' Neuaufnahme Makro
Dim lNeueZeile As Long
With Worksheets("Adresse")
'erste leere zeile in Adresse
lNeueZeile = .Range("A" & .Cells(Rows.Count, 1).End(xlUp).Row).Row + 1
'lfd Nr. eintragen
.Cells(lNeueZeile, "A").Value = .Cells(lNeueZeile, "A").Offset(-1).Value + 1
'Bereich aus Neueingabe kopieren
.Range(.Cells(lNeueZeile, "B"), .Cells(lNeueZeile, "G")).Value = _ Application.Transpose( _
Worksheets("Neueingabe").Range("B3:B9").Value)
End With
Worksheets("Neueingabe").Range("B3:B9").ClearContents
End Sub

Anzeige
AW: na dann hier noch ein Bonus
28.11.2020 18:28:32
Johannes
Hallo Ralf,
so wie ich das verstanden habe, soll ich meine 2 Makro löschen und deine dafür einsetzen
Johannes
AW: na dann hier noch ein Bonus
28.11.2020 18:40:23
ralf_b
zwei Makros?
die Neuaufnahme war doch nicht fertig oder? Und die Tabellenamen bitte ohne Leerzeichen davor oder dannach.
AW: na dann hier noch ein Bonus
28.11.2020 19:06:22
Johannes
ich habe ein Makro im Tabellenblatt Neueeingabe erstellt, wenn ich die ganze Adresse eingegeben habe und ich das Makro Speichern gedrückt habe dann hat es im Reiter Adresse die Adresse eingetragen und noch eine leere Zeile eingefügt mit Alphabet habe ich die Liste noch nach dem ABC formatiert.
Johannes
AW: na dann hier noch ein Bonus
28.11.2020 19:11:03
Johannes
Hier die Fehlermeldung
Userbild
Johannes
Anzeige
AW: na dann hier noch ein Bonus
28.11.2020 19:31:13
ralf_b
der Unterstrich nach dem "=" ist ein von Forunm eingefügter Zeilenumbruch. Der kann weg. Und der Unterstrich hinter transpose eigentlich auch. Es sei denn du brauchst den.
das Sortieren kann man auch in der Neuaufnahme gleich integrieren. dann macht die laufende Nr aber keinen rechten Sinn.
AW: na dann hier noch ein Bonus
28.11.2020 19:38:52
Johannes
Hi Ralf,
noch eine Fehlermeldung
Userbild
AW: na dann hier noch ein Bonus
28.11.2020 19:43:33
ralf_b
die Zeile ist ja immer noch umgebrochen.
AW: na dann hier noch ein Bonus
28.11.2020 20:45:25
Johannes
Sorry Ralpf
ich bin zu doof dafür, leider verstehe ich das nicht ihr seit Profis und ich Amateur
ich nehme jetzt mein altes Makro wieder her,
die erste Programmierung hat super funktioniert.
Danke für deine Hilfe
Johannes
Anzeige
AW: na dann hier noch ein Bonus
28.11.2020 20:45:50
Johannes
Sorry Ralf
ich bin zu doof dafür, leider verstehe ich das nicht ihr seit Profis und ich Amateur
ich nehme jetzt mein altes Makro wieder her,
die erste Programmierung hat super funktioniert.
Danke für deine Hilfe
Johannes
AW: na dann hier noch ein Bonus
28.11.2020 22:19:33
ralf_b
mal keine Panik. Umgebrochen heisst ja nur das die Codezeile auf zwei Zeilen aufgeteilt ist.
das geht auch mit diesem Unterstrich. Dann werden zwei Zeilen als eine Codezeile gelesen.
Ich dachte für dich wäre es einfacher ohne diesen Unterstrich und den Umbruch. aber dafür mußt du auch die beiden Zeilen auf eine Zeile bringen. Die wird dann nur sehr breit.
Der Syntax fehler ist nur der Zeilenumbruch, denke ich.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige