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

mal wieder Array

mal wieder Array
16.10.2014 10:43:48
Blaumann
Hi,
ich möchte im Selection_Change_Ereignis die Werte der markierten Zellen in ein Array schreiben.
wird jetzt in einer oder allen markierten Zellen etwas geändert und das Change_Ereignis spricht an, soll aus dem Array die Werte wieder in die Zellen geschrieben werden.
mit einer Zelle ohne Array bekomme ich es hin, nur mit dem Array steh ich wieder auf Kriegsfuss.
Gruss Peter

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mal wieder Array
16.10.2014 11:27:56
Bastian
Hallo Peter,
man könnte auch generell verhindern, dass mehr als eine Zelle markiert wird.
Dann kämst Du mit dem jetzigen Makro zurecht. Wäre das eine Option?
Gruß, Bastian

noch offen! owT
16.10.2014 11:28:35
Bastian

AW: noch offen! owT
16.10.2014 12:34:56
Blaumann
Hi Bastian,
leider ist das keine Lösung für mein Vorhaben, es soll keinerlei Beschränkungen geben was die Bearbeitung angeht.
Gruss Peter

AW: noch offen! owT
16.10.2014 14:34:57
Bastian
Hallo Peter,
wo harkt es denn genau?
Nimm mal folgenden Code als Anregung:
Gruß, Bastian
Option Explicit
Dim strAlteWerte() As String
Dim intAnzahl As Integer
Dim i As Integer
Dim rngZelle As Range
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Application.ScreenUpdating = False
i = 0
For Each rngZelle In Target
rngZelle.Value = strAlteWerte(i)
i = i + 1
Next rngZelle
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
i = 0
intAnzahl = Target.Cells.Count
ReDim strAlteWerte(intAnzahl)
For Each rngZelle In Target
strAlteWerte(i) = rngZelle.Text
i = i + 1
Next rngZelle
End Sub

Anzeige
AW: ganz schön gefährlich
16.10.2014 15:18:21
Ewald
Hallo,
das funktioniert nur bei manueller Eingabe. Bei Copy/Paste gibt es Fehler.
Außerdem ist das ein gemeiner Code, diesen einem Kollegen in die Tabelle kopiert und ihr könnt sicher sein,das innerhalb kürzester Zeit sein Blutdruck auf 210 ist.
Gruß Ewald

AW: ganz schön gefährlich
16.10.2014 22:49:17
Blaumann
Hi Bastian,
dachte schon das wäre die Lösung, nur geht bei mir Garnichts mehr.
Ich kann nix mehr eingeben, aber überall reinkopieren.
Das soll so aber nicht sein.
Gruss Peter

AW: deshalb ist er so gemein
16.10.2014 23:24:40
Ewald
Hallo Peter,
weil du nichts mehr in die Tabelle eingeben kannst.
Der Code gilt ja für die ganze Tabelle und deshalb geht auch nichts mehr.
Eigentlich war der Code als Formelschutz gedacht, nur man muß ihn anpassen.
Es muß ein Bereich angegeben werden, wo er wirken soll.
Copy/Paste muß für diesen Bereich ausgeschaltet werden.
Im Change-Ereignis muß eine Freigabe rein, damit der Code nur dann ausgeführt wird.
Habe als Beispiel den Code von Bastian mal angepaßt auf die Spalte C.
Dim sicol As Boolean
Dim strAlteWerte() As String
Dim intAnzahl As Integer
Dim i As Integer
Dim rngZelle As Range
Private Sub Worksheet_Change(ByVal Target As Range)
If sicol Then
On Error Resume Next
Application.EnableEvents = False
Application.ScreenUpdating = False
i = 0
For Each rngZelle In Target
rngZelle.Formula = strAlteWerte(i)
i = i + 1
Next rngZelle
sicol = False
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 3 Then
Application.CutCopyMode = False
i = 0
intAnzahl = Target.Cells.Count
ReDim strAlteWerte(intAnzahl)
For Each rngZelle In Target
strAlteWerte(i) = rngZelle.Formula
i = i + 1
Next rngZelle
sicol = True
End If
End Sub
kannst ja mal testen
Gruß Ewald

Anzeige
AW: deshalb ist er so gemein
17.10.2014 08:44:45
Bastian
Hallo zusammen,
deshalb hatte ich ja auch dabeigeschrieben "als Anregung".
Peter hat ja eingangs geschrieben, dass er ein Problem mit dem Array hat.
Und das ist in meinem Code zu sehen.
Dass man den Code noch Peteres individuellen Bedürfnissen anpassen muss, ist ja klar.
Gruß, Bastian

Das kann man provisorisch aber auch gleich tun,...
17.10.2014 20:46:15
Luc:-?
…Bastian,
damit so etwas wie hier Peter (mit bescheidenen VBA-Kenntnissen!) eben nicht geschieht! :-]
Das, was angepasst wdn muss, sollte schon im PgmCode vorhanden sein!
Gruß, Luc :-?
Besser informiert mit …
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige