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 VBA jede Zelle in Bereich (Range) ändern (+1)

Frage Microsoft Microsoft Office

Mitglied: ggforum

ggforum (Level 1) - Jetzt verbinden

06.06.2014, aktualisiert 19:48 Uhr, 7651 Aufrufe, 3 Kommentare

Tabelle mit etlichen Click-Buttons, denen unterschiedliche Makros zugeordnet sind.
1. Bereiches (Range) "ohneX" sollten sich um z.B. 1 erhöhen, gleichzeitig sollen Felder eines
2. Bereiches (Range) "_zX" auf Null gesetzt werden.
(X = Zahl des Makros und der Bereichs-Kennung)

Guten Tag, hab etliches versucht, hoffe jetzt auf Eure / Ihre Hilfe?
Grundsatzlich funktioniert das schon etwas..., es sind nur leider alle Werte des Bereichs "ohneX" irgendwie immer gleich.
Makros fortlaufend (X)...
Mir fehlt "nur" das Durchlaufen aller Zellen des Ranges "nicht", damit unterschiedliche Werte herauskommen.
Meine nicht funktionierenden Exerimente mit "for Each" erspare ich Euch und dem Server...
1.)
Sub z1()
Dim nicht As Range
Dim doch As Range
Set nicht = Range("ohne1")
Set doch = Range("_z1")
nicht.Value = nicht.Value + 1
doch = "0"
End Sub
2.)
Sub z2()
Dim nicht As Range
Dim doch As Range
Set nicht = Range("ohne2")
Set doch = Range("_z2")
nicht.Value = nicht.Value + 1
doch = "0"
End Sub
3.).... etc

Ganz lieben Dank, wenn Ihr mich unterstützen könntet.....
Gruss Gabi


Mitglied: Eintagsfliege
LÖSUNG 06.06.2014, aktualisiert um 19:48 Uhr
Hallo Gabi!

Wenn ich dich richtig verstanden habe, dann in etwa so:
01.
Dim rngCell As Range 
02.
     
03.
For Each rngCell In Range("ohne1:ohne2") 
04.
    rngCell.Value = rngCell.Value + 1 
05.
Next 
06.
 
07.
For Each rngCell In Range("_z1:_z2") 
08.
    rngCell.Value = 0 
09.
Next
Andere Möglichkeit:
01.
Dim i As Integer 
02.
 
03.
For i = 1 To 2  'Von Bis 
04.
    With Range("ohne" & i) 
05.
        .Value = .Value + 1 
06.
    End With 
07.
    Range("_z" & i).Value = 0 
08.
Next
Grüße Dieter
Bitte warten ..
Mitglied: ggforum
06.06.2014 um 19:58 Uhr
Hallo, Dieter,
ganz herzlichen Dank für die Hilfe, hab das jetzt so eingebaut UND es funktioniert prächtig!!!!!!!!!!!!!!!!!!

Sub z1()
Dim rngCell As Range
Dim nicht As Range
Dim doch As Range
Set nicht = Range ("ohne1")
Set doch = Range ("_z1")
For Each rngCell In nicht
rngCell.Value = rngCell.Value + 1
Next
For Each rngCell In doch
rngCell.Value = 0
Next
End Sub

Ich würde jetzt noch gern bei den Zellen, deren Werte auf 0 gesetzt werden, Range (_zX),
den letzten Wert VOR dem Null-Wert zusammen mit einigen anderen Zellinhalten der ArbeitsMAPPE (u.U. anderes ArbeitsBLATT) mit Datum und Uhrzeit in eine neue, fortlaufende Tabelle (der vermutlich gleichen ArbeitsMAPPE) speichern.
Mache dazu eine neue Frage mit neuem Titel auf:
Excel vba:Wert VOR Änderung auf 0 in neuer Tabelle mit Datum/Zeit speichern
Bitte warten ..
Mitglied: ggforum
06.06.2014 um 21:57 Uhr
Ganz lieben Dank, Dieter, hab die Variante 1 genommen und jetzt sieht das bei mir so tollllll aus UND funktioniert bestens:

Sub z1()
Dim rngCell As Range
Dim nicht As Range
Dim doch As Range
Set nicht = Range("ohne1")
Set doch = Range("_z1")
For Each rngCell In nicht
rngCell.Value = rngCell.Value + 1
Next

For Each rngCell In doch
rngCell.Value = 0
Next
End Sub
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Microsoft Office
gelöst Excel VBA Letzte Zelle Suchen dann rechnen und Wert in Zelle Übertragen (3)

Frage von Addi089 zum Thema Microsoft Office ...

VB for Applications
gelöst Excel VBA Eine oder mehrere Zellen Verschieben (2)

Frage von batchnewbie zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...