Hi,
wer kann mir ein gutes Tutorial für Visual Basic for Applications empfehlen? Ich würde gerne ein einfaches Makro für MS Word schreiben; mir ist aber nicht ganz klar, wie ich Tabelleneinträge (Zellen, Zeilen) manipulieren sowie löschen kann.
Hi,
wer kann mir ein gutes Tutorial für Visual Basic for Applications empfehlen? Ich würde gerne ein einfaches Makro für MS Word schreiben; mir ist aber nicht ganz klar, wie ich Tabelleneinträge (Zellen, Zeilen) manipulieren sowie löschen kann.
Ich find für sowas die Office-Hilfe am aufschlussreichsten. Man muss halt vermuten können, wie das heißen kann, aber bei Tabellen etc. sollt das gehen:
Weist der ersten Zelle der ersten Tabelle den Wert 1 zu. Bei den Objekten findest dann auch entsprechende Lösch-, Einfüge- und alle anderen Operationen.
Danke, dein Tipp war hilfreich.
was auch oft hilft bei makros is makros aufzuzeichnen. einfach haendisch machen was man machen will und sich dann den generierten code anschauen. schon weisst wie die sachen heissen und wiesd was machen kannst.
Nun, mein Code scheint syntaktisch korrekt zu sein, allerdings terminiert er anscheinend nicht - hat jemand eine Ahnung, woran es liegen könnte?
Sub KillDupes()
' Lösche doppelte Tabelleneinträge
prev$ = ""
For i = 1 To 1500
curr$ = ActiveDocument.Tables(1).Cell(i, 1).Range
If curr$ = prev$ Then
ActiveDocument.Tables(1).Rows(i).Range.Delete
End If
prev$ = curr$
Next
End Sub
Alles anzeigen
Eventuell an der Zahl 1500? Die Tabelle hat nämlich etwas weniger als 1500 Zeilen (weil ich bereits ein paar Duplikate manuell gelöscht habe), und nach jeder Löschung würde die Zeilenanzahl natürlich weiter abnehmen.
Ach ja, mein Programm funktioniert (mit der kleinen Änderung "Range.Delete" -> "Delete" - keine Ahnung, ob das überhaupt notwendig war), nur war ich zu ungeduldig. Dennoch: Komisch, warum dieses Makro auf einem Pentium IV so lange braucht.
naja, so makros sind leider nie schnell.
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!