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

VBA nicht ausgefuellte Felder einfaerben

Frage Entwicklung VB for Applications

Mitglied: oceangirl

oceangirl (Level 1) - Jetzt verbinden

20.02.2014 um 17:25 Uhr, 1827 Aufrufe

Hallo zusammen,

Leider habe ich mit VBA nur noch wenig zu tun, so dass mein Wissen darueber nicht mehr existent ist. Ich hoffe ihr könnt mir helfen.

Fuer eine Protokolldatei auf Excelbasis mit VBA und hier moechte ich eine Erweiterung vornehmen. Ich habe Excel 2010; das Protokoll soll aber mehreren Nutzern mit unterschiedlichen Excelversionen zuganglich gemacht werden.
Die Datei habe ich geerbt und sie wurde ursprünglich mit Makros geschrieben und an Stellen ueberarbeitet.

Aussehen der Datei:
Die Datei hat mehrere Spalten:
A-Zeilenindex-Nr
B-Kuerzel (T=Aufgabe, E=Entscheidung, ...)
C-Infotext
D-Verantwortlicher
E-Datum von
F-Datum bis
Jede Zeile ist ein Eintrag in dem die relevanten Felder manuell ausgefüllt werden sollen. Zur Unterstützung habe ich Buttons, die die Formate in die einzelne Zeile kopiere. Das heisst ich klicke auf eine Zeile dann auf einen der Buttons (zB der mit T) und es erscheint der Zeilenindex in A und das gedückte Kürzel in B und zusäetzlich das Datum.

Das klappt alles soweit.

Nun moechte ich die Spalte D (Verantwortlicher) in rot setzen wenn diese Zelle durch einen der Buttons aktiviert wird und kein Zeichen in der Spalte D eingetragen ist. Das hab ich soweit fuer einen Button erstellt. Problem ist jetzt, dass sobalt die Spalte ausgefuellt wird nichts passiert. Die Zelle ist weiterhin rot. Wie kann ich das andern?

Sub NeuerBeschluß()

Dim zelle As Range

If ActiveSheet.AutoFilterMode Then
Selection.AutoFilter
End If
If Range("B4").Value = "" Then
Range("B4").Select
Else
Range("B3").End(xlDown).Offset(1, 0).Range("A1").Select
End If
Application.ScreenUpdating = False
'
ActiveCell.FormulaR1C1 = "D"
Application.Run "SetNewNumber"
Application.Run "CopyFormat"

ActiveCell.Offset(0, 2).Range("A1").Select
ActiveCell.FormulaR1C1 = "all"

ActiveCell.Offset(0, 2).Range("A1").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
ActiveCell.Offset(0, -3).Range("A1").Select
Application.ScreenUpdating = True


For Each zelle In Worksheets("Close").Range("A4:F33")
If zelle = "" Then
zelle.Interior.ColorIndex = 3
Else
zelle.Interior.ColorIndex = xlNone
End If
Next
End Sub



Des weiteren kopiert das VBA die daruberstehende Zeile, wenn ich den Button aktiviere. Es soll aber nur in manchen Fällen die gesamte Zeile farblich markieren. In anderen Fällen soll es einfach das Format einer bestimmten Zelle übernehmen bzw. die Zeile weiss einfarben. Könnt ihr mir dazu einen Tipp geben?

Sub CopyFormat()
'

Dim isect As Range

Range("A4:J4").Copy
Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, 10)).PasteSpecial Paste:=xlFormats
Cells(ActiveCell.Row, 2).Validation.InCellDropdown = False
ActiveCell.Offset(0, 1).Select
Application.CutCopyMode = False


Bei Fragen immer gerne nachfragen


Ähnliche Inhalte
Microsoft Office
gelöst Excel VBA In Userform Maske Text nach Eingabe löschen (1)

Frage von kluthi69 zum Thema Microsoft Office ...

VB for Applications
gelöst VBA Macro Hilfe benötigt (6)

Frage von reissaus73 zum Thema VB for Applications ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (16)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

CMS
Lokales Wordpress im LAN - wie aufsetzen? (16)

Frage von Static zum Thema CMS ...

Windows Userverwaltung
gelöst Wie verfahrt Ihr mit den Windows-Benutzerkonten und -dateien von ausgeschiedenen Mitarbeitern? (14)

Frage von Bl0ckS1z3 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
IP im privaten Netz nicht erreichbar (14)

Frage von guntis zum Thema LAN, WAN, Wireless ...