Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Excel das gleiches Makro zur addition in einem Feld, in mehreren Spalten benützen

Frage Microsoft Microsoft Office

Mitglied: chatzestrecker

chatzestrecker (Level 1) - Jetzt verbinden

04.08.2014 um 08:14 Uhr, 892 Aufrufe, 8 Kommentare, 1 Danke


Hallo Zusammen


Ich habe folgendes Makro gefunden um im gleichen Feld addieren zu können.
Nun möchte ich auch, dass das gleiche Makro in den Spalten C-F ausgeführt wird.


Was muss ich machen?
Grüsse
chatzestrecker


Public letzterWert
Public aendern As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, ActiveSheet.Range("A1:B29")) Is Nothing Then Exit Sub
If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub
If aendern = False Then Exit Sub
Application.EnableEvents = False
Target = Target + letzterWert
letzterWert = 0
aendern = False
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.Intersect(Target, ActiveSheet.Range("B1:B29")) Is Nothing Then Exit Sub
If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub
letzterWert = Target.Value
aendern = True
End Sub

Mitglied: bastla
04.08.2014 um 08:47 Uhr
Hallo chatzestrecker und willkommen im Forum!

Die Zellen, für die eine Verarbeitung erfolgen soll, sind derzeit mit "A1:B29" bzw "B1:B29" festgelegt - passe daher diese Werte an ...

Grüße
bastla
Bitte warten ..
Mitglied: chatzestrecker
04.08.2014 um 11:03 Uhr
Herzlichen dank für die schnelle Antwort.

Leider habe ich nun das Problem, dass nach dem abspeichern, der Code gar nicht mehr funktioniert.
Anfangs ging der Code in der Spalte B

Ich habe noch ein paar Änderungen im Blatt gemacht. Dies hat sicher ein Zusammenhang.

In der Spalte A sind Datum hinterlegt hier muss nichts gerechnet werden.
In Der Zeile 1 von Spalte A-H sind die Titel hinterlegt.

Gerechnet werden muss in allen Zellen von B2 - H29 ( jeweils eine einfache Addition)

Was ich genau ändern muss ist mir leider nicht klar ( bin in dieser Hinsicht ein Neuling)

Kann mir jemand den genauen Code posten?

Danke vielmals

Grüsse
Chatzestrecker
Bitte warten ..
Mitglied: colinardo
04.08.2014, aktualisiert um 11:39 Uhr
01.
Public letzterWert 
02.
Private Sub Worksheet_Change(ByVal Target As Range) 
03.
    If Application.Intersect(Target, ActiveSheet.Range("B2:H29")) Is Nothing Then Exit Sub 
04.
    Application.EnableEvents = False 
05.
    If Not IsNumeric(Target.Value) Or IsEmpty(Target.Value) Then 
06.
        letzterWert = 0 
07.
    Else 
08.
        Target = Target + letzterWert 
09.
        letzterWert = 0 
10.
    End If 
11.
    Application.EnableEvents = True 
12.
End Sub 
13.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
14.
    If Application.Intersect(Target, ActiveSheet.Range("B2:H29")) Is Nothing Then Exit Sub 
15.
    If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub 
16.
    letzterWert = Target.Value 
17.
End Sub
Grüße Uwe
Bitte warten ..
Mitglied: opalka
04.08.2014 um 11:10 Uhr
Hallo,

01.
Public letzterWert 
02.
Public aendern As Boolean 
03.
 
04.
Private Sub Worksheet_Change(ByVal Target As Range) 
05.
  If Application.Intersect(Target, ActiveSheet.Range("B2:H29")) Is Nothing Then Exit Sub 
06.
  If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub 
07.
  If aendern = False Then Exit Sub 
08.
  Application.EnableEvents = False 
09.
  Target = Target + letzterWert 
10.
  letzterWert = 0 
11.
  aendern = False 
12.
  Application.EnableEvents = True 
13.
End Sub 
14.
 
15.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
16.
  If Application.Intersect(Target, ActiveSheet.Range("B2:H29")) Is Nothing Then Exit Sub 
17.
  If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub 
18.
  letzterWert = Target.Value 
19.
  aendern = True 
20.
End Sub 
Gruß
Bitte warten ..
Mitglied: chatzestrecker
04.08.2014 um 11:40 Uhr
Danke für die Antwort

Das habe ich schon versucht (bevor ich geschrieben habe), trotzdem funktioniert es nicht.
Es wird kein Wert in den Zellen addiert.

Ich dachte , das hier eine andere Formel zur Geltung kommt.
Ich habe nun auch den Code gegenkontrolliert. Fehler habe ich keinen entdeckt.

Public letzterWert
Public aendern As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, ActiveSheet.Range("B2:H29")) Is Nothing Then Exit Sub
If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub
If aendern = False Then Exit Sub
Application.EnableEvents = False
Target = Target + letzterWert
letzterWert = 0
aendern = False
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.Intersect(Target, ActiveSheet.Range("B2:H29")) Is Nothing Then Exit Sub
If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub
letzterWert = Target.Value
aendern = True
End Sub
Bitte warten ..
Mitglied: colinardo
LÖSUNG 04.08.2014, aktualisiert um 15:52 Uhr
Hast du Makros überhaupt schon im Sicherheitscenter von Excel aktiviert ?
Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Einstellungen für Makros > "Alle Makros aktivieren ....", anhaken
Und wurde der Code im richtigen Abschnitt des VBA-Editors eingefügt, nämlich im Abschnitt des richtigen Worksheets ?
Hier noch das funktionsfähige Demosheet dazu, damit sollte alles klar sein.

Grüße Uwe
Bitte warten ..
Mitglied: opalka
04.08.2014, aktualisiert um 12:15 Uhr
Das ganze funktioniert nur, wenn der Code im VBAProjekt in jede Tabelle kopiert wird. Steht der Code in der Arbeitsmappe, dann muss er wie folgt geändert werden:

01.
Public letzterWert 
02.
Public aendern As Boolean 
03.
 
04.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
05.
  If Application.Intersect(Target, ActiveSheet.Range("B2:H29")) Is Nothing Then Exit Sub 
06.
  If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub 
07.
  If aendern = False Then Exit Sub 
08.
  Application.EnableEvents = False 
09.
  Target = Target + letzterWert 
10.
  letzterWert = 0 
11.
  aendern = False 
12.
  Application.EnableEvents = True 
13.
End Sub 
14.
 
15.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) 
16.
  If Application.Intersect(Target, ActiveSheet.Range("B2:H29")) Is Nothing Then Exit Sub 
17.
  If Not IsNumeric(Target.Value) Then letzterWert = 0: Exit Sub 
18.
  letzterWert = Target.Value 
19.
  aendern = True 
20.
End Sub 
Die Zeile 4 und 15 müssen angepasst werden.

Vorteil ist, dass es dann auf allen Tabellen in der Arbeitsmappe funktioniert.

Gruß
Bitte warten ..
Mitglied: chatzestrecker
04.08.2014 um 13:03 Uhr
Danke für diesen Input.

So wie ich gesehen habe liegt das Problem an der Aktivierung.

Im Moment sind bei mir nur Makros mit digitaler Zertifizierung zugelassen.
Muss wohl die Freigabe von unserer IT kriegen.

Herzlichen dank an Euch beide
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
gelöst Zelle in Excel per Makro auswählen (7)

Frage von Enriqe zum Thema VB for Applications ...

Microsoft Office
gelöst Excel 2010 Zellen mit bestimmten Inhalt mit Makro formartierten (5)

Frage von packmann2016 zum Thema Microsoft Office ...

Microsoft Office
Excel 2016 anzeige der markierten Spalten (1)

Frage von endurance zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...