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 / ausgewählte Zellen aus Excel-Tabelle per Knopfdruck in Word-Datei einfügen

Frage Entwicklung VB for Applications

Mitglied: iroquois-plisken

iroquois-plisken (Level 1) - Jetzt verbinden

23.08.2006, aktualisiert 24.08.2006, 14621 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 ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
VB for Applications
gelöst Mit VBA im Monatskalender Datum suchen - aus anderer Datei einfügen (6)

Frage von Otto1699 zum Thema VB for Applications ...

VB for Applications
Bestimmte Daten aus eine CSV-Datei in eine Excel-Tabelle importieren (2)

Frage von MariaElena zum Thema VB for Applications ...

VB for Applications
gelöst Xml-Datei laden bzw. auf Festplatte kopieren und per VBA in eine Access-Tabelle speichern (22)

Frage von machohunk zum Thema VB for Applications ...

Microsoft Office
Word Dokument (vorausgefüllte Formulare) aus Excel Tabelle generieren (1)

Frage von Server4Alle zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...