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, 1813 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


Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

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

Ähnliche Inhalte
VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

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

Frage von batchnewbie zum Thema VB for Applications ...

VB for Applications
gelöst Mehrere Charts per VBA erstellen lassen, Titel wird nicht angezeigt

Frage von Aximand zum Thema VB for Applications ...

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

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

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...