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, 923 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 ..
Ähnliche Inhalte
VB for Applications
Excel Makro zum Suchen von Spalten und exportieren in CSV (3)

Frage von Raptox zum Thema VB for Applications ...

Datenbanken
Excel zu SQL mit mehreren Benutzern (9)

Frage von nightwishler zum Thema Datenbanken ...

Microsoft Office
gelöst Excel Makro zum Sortieren von Spalten an größeres Dokument Anpassen (2)

Frage von Rolfor zum Thema Microsoft Office ...

Microsoft Office
Excel Nachfrage: Datum aus Spalte ausgeben (2)

Frage von PronMaster zum Thema Microsoft Office ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
SAN, NAS, DAS
MSA 2050 RAID Konfig (27)

Frage von Leo-le zum Thema SAN, NAS, DAS ...

Microsoft Office
Office Druck fehler (14)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

Frage von peterla zum Thema Festplatten, SSD, Raid ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...