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, 1821 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
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Microsoft Office
gelöst VBA: Dateiinhalte in Abhängigkeit des Dateinamens importieren (4)

Frage von Booster07 zum Thema Microsoft Office ...

VB for Applications
VBA Grenzwerte in String prüfen Regex ??? Excel2010 (1)

Frage von Chillministrator zum Thema VB for Applications ...

Microsoft Office
gelöst Excel VBA: Automatische Konvertierung von Textdatei (.txt) zu Exceldatei (.xlsx) (7)

Frage von Booster07 zum Thema Microsoft Office ...

Microsoft Office
gelöst VBA Textformatierung Kalenderwoche (3)

Frage von Florian86 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (32)

Frage von Maik82 zum Thema Linux Netzwerk ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (17)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...