Tag Archives: vba

#Excel: #Text mit #VBA #fett #formatieren – aber nur #zumTeil

Sie wollen immer noch #Teile Ihrer #Zellinhalte per #VBA #formatieren? Da sind aber Texte mit einer Länge von mehr als 255 Zeichen dabei (das geht seit Version 2007) … und es #funktioniert #nicht? Dann gehen wir das anders als gestern an – wir müssen die Positionen wegschreiben, dann die Klammern löschen und dann erst formatieren: Sub Brackets_Bold() Dim myCell As Range Dim myTxt As Variant Dim myLen As Long Dim StartPos As Long Dim EndPos As Long Dim iStart(1 To 200) As Long Dim iEnd(1…

Read More »

#Excel: #Text mit #VBA #fett #formatieren – aber nur #zumTeil

Sie wollen bestimmte Teile Ihrer Zellen in #Excel #fett #formatieren? Per #VBA? Das Beispiel hier sollte Ihnen dabei gut helfen: es macht den ganzen Text innerhalb der mit eckigen Klammern gekennzeichneten Bereiche fett und entfernt die Klammern auch gleich. Sub Brackets_Bold() Dim myCell As Range Dim myTxt As Variant Dim myLen As Long Dim StartPos As Long Dim EndPos As Long     For Each myCell In ActiveWorkbook.ActiveSheet.UsedRange.Cells         EndPos = 1         StartPos = InStr(EndPos, myCell.Text, „[„)         While StartPos <> 0             If Left(myCell.Formula,…

Read More »

mit #VBA eine #Excel #Arbeitsmappe #öffnen, falls nicht ohnehin offen

Sie brauchen eine handliche #VBA-#Funktion, die eine #Excel-#Arbeitsmappe öffnet – aber nur, wenn diese nicht ohnehin bereits offen ist? Nehmen Sie diese und verwenden Sie sie z.B. so: Set myWb = WbOpen(varPath, varFileName) Sie prüft, ob eine Arbeitsmappe mit dem Namen varFileName geöffnet ist, und versucht sie, falls sie nicht geöffnet ist, im Pfad varPath zu öffnen. Public Function WbOpen(myFolder As Variant, myFile As Variant) As Workbook  ‚checks if a workbook is already open  ‚if not: opens it  ‚if not existing: error message  ‚to be…

Read More »

#Teile einer #Zelle mit #VBA ansprechen

Sie möchten mit #VBA am #Text in einer #Zelle herumbasteln? Zum Beispiel in einem Arbeitsblatt in jeder Zelle das zweite Zeichen fett machen? Das geht so: Dim myCell As Range     For Each myCell In ActiveWorkbook.ActiveSheet.UsedRange.Cells         With myCell.Characters(Start:=2, Length:=1)             .Font.Bold = True         End With     Next myCell Range.Characters(Start, Length) ist die Menge der Length Zeichen ab der Startposition. Neben der Eigenschaft Font und den geeigneten Untereigenschaften gibt’s z.B. noch Count und Text; die Methoden Insert und Delete stehen Ihnen zum Bearbeiten der Zeichen zur Verfügung.

Read More »

#Maximum aus einem #Bereich mit #VBA ermitteln

Heut gibt’s wieder einmal VBA – die lustige Programmiersprache, mit der Sie in Office nahezu alles automatisieren können. Die aktuelle Anforderung: Welches Datum ist in einem bestimmten Bereich das größte? In Excel verwenden Sie für die Beantwortung so einer Frage die Funktion MAX. Schreiben Sie aber MAX in VBA, so werden Sie nicht verstanden. Das muss also anders gehen … und zwar so: Public Sub Datum_Max() Dim DatBis As Date Set dWs = Worksheets(„Datenbasis“) DatBis = Application.WorksheetFunction.Max(dWs.Range(„Datum“)) … Set dWs = Nothing End Sub Zur…

Read More »

generieren Sie sich #gutevorsaetze2015

Sie wissen noch immer nicht, was Sie sich fürs nächste Jahr so vornehmen sollen? Dann generieren Sie sich was: In die Spalten A bis D kommen beliebig viele Zeitergänzungen / Adjektive im Plural / Nomen im Plural / Verben im Infinitiv. (Bezüglich dieser Fachwörter fragen Sie Ihre Kinder 🙂 ). Der Rest ist Programmierung – also ab in die VBA-Oberfläche (am besten mit Alt+F11), und dann folgenden Code in das Modul zur Tabelle1 kopiert: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Call Ausgabe End Sub Private Sub Ausgabe()…

Read More »

#verknüpfte Bilder in Ihr Dokument #integrieren – mit #VBA

Gestern hab ich Ihnen die Option gezeigt, die verknüpfte Bilder in Ihr Dokument fest integriert. Wollen Sie das per VBA machen – weil Sie beispielsweise das in ganz vielen Dateien machen müssen? Dann geht das so: Dim myIShape As InlineShape For Each myIShape In ActiveDocument.InlineShapes myIShape.LinkFormat.SavePictureWithDocument = True Next myIShape Set myIShape = Nothing Ist ja fad, wenn man das in zweihundert Dokumenten manuell machen muss 🙂

Read More »

Fixierte Objekte werden verschoben #ExcelFehler beim #Filtern #gnaaaa

Schon mal erlebt? Sie schalten in Ihrer Arbeitsmappe den Filter ein, und dann dürfen Sie tausend Mal die Fehlermeldung „Fixierte Objekte werden verschoben“ wegklicken … 🙁 Mühsam. Was ist der Grund? Irgendwo liegen Shapes herum, die beim Filtern ihren Platz wechseln müssen, weil sie an die Zellen „angeklebt“ sind. Und wie geht das weg? Entweder entfernen Sie das Hakerl bei START > Optionen > Erweitert > Ausschneiden, Kopieren und Einfügen > Eingefügte Objekte mit übergeordneten Zellen auschneiden, kopieren, sortieren Oder Sie programmieren ein bisschen was:…

Read More »

#Makro bei der #Arbeit – #Tempo, bitte!

Seit gestern müssen Sie Ihrem Makro nicht mehr beim Arbeiten zuschauen – das entspannt doch ganz schön 🙂 Trotzdem ist es noch laaaaaaangsaaaaam 🙁 Das kann daran liegen, dass Ihr Makro Ihnen viel Arbeit abnimmt – und nach jedem Schritt alles neu berechnet, genau wie im richtigen Leben. Das können wir ihm abgewöhnen. Ergänzen Sie Ihren Code am Anfang (zB gleich nach dem Anfangsbefehl von gestern) um Dim myCalculate As String myCalculate = Application.Calculation Application.Calculation = xlCalculationManual Nun haben Sie sich gemerkt, wie die Einstellung…

Read More »