14.10.2021, 20:16
(Dieser Beitrag wurde zuletzt bearbeitet: 14.10.2021, 20:16 von kurtkurt57.)
Namens-Frage
|
14.10.2021, 21:40
Hi,
mit „Klassenmodul“ meinte ich nicht ein separates Klassenmodul. Die einzelnen Tabellenblätter sind von Haus aus Klassenmodule. Also Doppelklick auf „Tabelle1“ - und da den Code reinkopieren.
VG, Boris
https://www.herber.de/excelformeln
16.10.2021, 00:30
(Dieser Beitrag wurde zuletzt bearbeitet: 16.10.2021, 00:30 von kurtkurt57.)
Danke Boris, es klappt! ...nur, dass das Gelb nicht mitwandert!
ich hab mal dran rumgefummelt, und wollte, das er das Ergebnis immer über die erste Zelle schreibt.... Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Application If Not Intersect(Target, Range("A3:BG3")) Is Nothing Then .EnableEvents = False Target.Resize(1, 3).Select 'Range("K1") = WorksheetFunction.Sum(Selection) Range("Target") = WorksheetFunction.Sum(Selection) .EnableEvents = True End If End With End Sub ... aber ich krieg sowas zurück: und jetzt geht garnict smehr, die verbindung zwischen arbeitsblatt und dem Programmm scheint unterbrochen. Er frug, ob ich debuggen wolle, wollte ber nicht ...
16.10.2021, 10:39
Hi,
Range("Target") ist der Grund für den Fehler. Schau Dir mal die erste Zeile der SelectionChange-Routine an: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Der einzige Parameter dabei ist die Variable Target - die wird dort mit As Range als Objektvariable deklariert, enthält damit den Bereich der aktuellen Selektion im Tabellenblatt und hat somit auch alle notwendigen Eigenschaften. Folgender Code schreibt nun die Summe der 3 Zellen in Zeile 2 über die erste der 3 Zellen. Ist es das, was Du suchst? Code: Private Sub Worksheet_SelectionChange(ByVal Target As Range)
VG, Boris
https://www.herber.de/excelformeln
16.10.2021, 11:06
(Dieser Beitrag wurde zuletzt bearbeitet: 16.10.2021, 11:19 von kurtkurt57.)
Danke Boris,
Rows(3).ClearContents dies löscht die ganze Zeile was mach ich, wenn er bei Rechtspfeiltaste den Eintrag im Offset machen soll, bei Linkstaste wieder löschen.... so funktioniert es jetzt in die eine Richtung, hab paar Sachen umgestellt jetzt brauch ich noch, dass es, wenn ich die Linkstaste drück, das in der Summe-Zeile die Ergebnisse wieder verschwinden und dann wäre noch gut, dass ich die beiden werte von Target.Resize meinetwegen in A1 und A2 eingeben könnte.... ich danke Dir von ganzem Herzen ...
16.10.2021, 12:28
(Dieser Beitrag wurde zuletzt bearbeitet: 16.10.2021, 12:43 von kurtkurt57.)
und dann passiert es: ich baue eine Fehler ein, (hier hatte ich geschrieben (sum=(Selektion-5) dann wird die Zeile rot und es erscheint ein Fenster, dann drücke ich auf Debuggen, und von da an geht nichts mehr, ein kleiner gelber Pfeil erscheint im VBA.Fenster links neben der Zeile im Grauen!
Was muss man diesfalls tun, um die Szene wieder zu aktivieren?
Hi,
oben in der Bearbeitungsleiste des VBA-Editors gibt es den Button "Zurücksetzen" (blaues Quadrat). Zu Deinen Zusatzfragen: Lad mal Deine Mappe hoch.
VG, Boris
https://www.herber.de/excelformeln
16.10.2021, 14:22
16.10.2021, 14:39
Hi,
in A1 steht die RowSize (in Deinem aktuellen Fall: 2), in A2 die ColumnSize (aktuell: 5) Teste mal: Code: Private Sub Worksheet_SelectionChange(ByVal Target As Range)
VG, Boris
https://www.herber.de/excelformeln
16.10.2021, 14:55
Danke erst mal. Wenn ich auf Run drücke, Kommt das Fenster "macros", dann drücxk ich "erstellen" und dann kommt eine neues Fenster mit Sub und EndSub. Das will ich nicht, ich will das das Ding läuft---
|
|
Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste