VBA / ausgewählte Zellen aus Excel-Tabelle per Knopfdruck in Word-Datei einfügen

Mitglied: iroquois-plisken

iroquois-plisken (Level 1) - Jetzt verbinden

23.08.2006, aktualisiert 24.08.2006, 16722 Aufrufe, 1 Kommentar

Hallo,

aus einer excel-datei werden z.B. in der zeile 2 das feld a,c und d markiert.
diese zellen werden dann in eine word-datei in eine tabelle (3 spalten, 8 zeilen) geschrieben:



Sub Aufkleber()

Dim r_Liste As Range
Dim r_Felder As Range
Dim r_Datensatz As Range
Dim word As Object
Dim int_AnzFelder As Integer
Dim int_Spalte As Integer
Dim str_Adresse As String

'Die Liste beginnt bei Zelle A1 und ist zusammenhängend
Set r_Liste = Range("a1").CurrentRegion
'In der ersten Zeile stehen die Spaltenüberschriften
Set r_Felder = r_Liste.Rows(1)
'Es wird die Anzahl der Felder festgehalten
int_AnzFelder = r_Felder.Columns.Count
'Dann wird der ausgewählte Datensatz ermittelt
Set r_Datensatz = Application.Intersect(r_Liste, ActiveCell.EntireRow)

''Dieser Datensatz wird zu einem gesamtstring zusammengesetzt
'For int_Spalte = 1 To int_AnzFelder
' str_Adresse = str_Adresse & r_Datensatz.Cells(int_Spalte) & vbCr
'Next

'Dieser Datensatz wird zu einem gesamtstring zusammengesetzt
For int_Spalte = 1 To int_AnzFelder
Select Case int_Spalte
Case 1, 3, 4 ' Wenn es die 1., 3. oder 4. Spalte ist, wird hinzugefügt
str_Adresse = str_Adresse & r_Datensatz.Cells(int_Spalte) & vbCr
Case Else ' andernfalls nicht
End Select
Next


'Wenn ein Datensatz ausgewählt worden ist
If Not r_Datensatz Is Nothing Then
'wird Word gestartet
Set word = CreateObject("Word.Application")
'sichtbar gemacht ( kann evtl. entfallen!)
word.Visible = True
'und ein neues Dokument auf der Basis der Vorlage Adressaufkleber.dot erstellt
word.Documents.Add Template:="G:\EDV\GP\Aufkleber.dot"

'In diesem neuen Dokument
With word.ActiveDocument
'wird in alle Tabellenzelle der zusammengesetzte String eingefügt
For Each c In .Tables(1).Range.Cells
c.Range.Text = str_Adresse
Next

'Am Schluss wird das ganze ausgedruckt
.PrintOut
End With

'Dann wird Word beendet (ohne Speichern, bei Bedarf auch mit)
word.Quit
Set word = Nothing
Else
MsgBox "Kein Datensatz ausgewählt!"
End If
End Sub



was ich jetzt noch bräuchte wäre erst einmal ein button damit das makro startet und eine eingabemaske für ein Anzahlfeld um anzugeben wieviele zellen in der word datei beschrieben werden.
Mitglied: miniversum
24.08.2006 um 13:48 Uhr
Für den Button:
Wähle im Menü: Extras -> Anpassen
Dort dann im Reiter Befehle links Makros auswählen. Dann das Symbol "Benutzerdefinierte Schaltfläche" einfach auf eine Symbolleiste ziehen.
Mit Rechtsklick auf das Symbols kannst Du anschließend ganz unten unter "Makro zuweisen" das Makro auswählen was beim anklicken gestartet werden soll. Weiter kann man auch beim Rechtsklick auf das Symbol ein anderes Zeichen auswählen, bearbeiten oder Text mit anzeigen lassen.

Für die Eingabe:
Schau mal in der Hilfe vom vba die "InputBox" an.

miniversum
Bitte warten ..
Heiß diskutierte Inhalte
Netzwerkgrundlagen
Frage der anderen Art
NeuerleVor 1 TagFrageNetzwerkgrundlagen16 Kommentare

Hi an alle, Ich bin InformatikStudi. Habe Ende des Monats Klausur im Fach Netzwerke zu schreiben und komme gar nicht klar. Entweder ich bin ...

CPU, RAM, Mainboards
CPU Lüfter ausbauen
gelöst ben1300Vor 1 TagFrageCPU, RAM, Mainboards9 Kommentare

Hallo zusammen, ich habe mir damals einen Fertig PC gekauft. Ich würde gerne den Arbeitsspeichern austauschen, allerdings muss ich dafür - so wie es ...

Windows Userverwaltung
Account Aktivierung über VPN
Phill93Vor 1 TagFrageWindows Userverwaltung3 Kommentare

Hallo, ich muss mir für eine RDP Umgebung für einen Verein eine Lösung für die Account Aktivierung ausdenken. Meine Idee ist die folgende: 1. ...

Switche und Hubs
Suche Deutsche Sprachdatei für D-Link DGS-1210-24 D1 Switch
gelöst Oggy01Vor 20 StundenFrageSwitche und Hubs8 Kommentare

Hallo, ich habe einen D-Link DGS-1210-24 Vers. D1 Switch bekommen und suche für diesen eine Deutsche Sprachdatei. Die Firmware ist auf dem aktuellen Stand ...

DNS
Android 10 und mein DNS Server
gelöst CyborgWeaselVor 1 TagFrageDNS7 Kommentare

Hallo allesamt, ich spiele gerade etwas mit einer Synology herum, habe unter Anderem einen eigenen DNS jetzt aufgesetzt. Die lokale Domäne ist HomeDomain.local und ...

Soziale Netzwerke
Anzahl Postings auslesen
gelöst r2d2r3poVor 1 TagFrageSoziale Netzwerke13 Kommentare

Hallo, habe seit 2014 eine Fanpage und wir posten jeden Tag. Kennt jemand einen Weg wie man die Anzahl der Postings seit 2014 auslesen ...

Windows 10
Lizenzfrage WDS mit Windows 10 OEM und E3 für Enterprise
noodellsVor 1 TagFrageWindows 107 Kommentare

Hallo Zusammen, ich habe mal eine generelle Lizenzfrage zum Thema WDS. Ich möchte mehrere PCs installieren, die schon vom Hersteller eine funktionierende Windows 10 ...

Hardware
COM-Ports verstellen sich immer wieder
gelöst hanheikVor 1 TagFrageHardware6 Kommentare

Hallo, an 3 neuen Windows 10-Rechnern sind Strichcode-Scanner (mit RS232-Schnittstelle) per USB-Com-Adapter angeschlossen. Die anzusprechende Schnittstelle COMx ist jeweils in der Kassensoftware hinterlegt. Leider ...