Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1488to1492
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Word Steuerelement Wert summieren

Word Steuerelement Wert summieren
19.04.2016 15:39:13
stef26
Hallo Zusammen,
ich lese mit einem VBA Code (nicht von mir) den Inhalt von Word Steuerelementen in
Excel ein.
Funktioniert soweit ganz gut.
Nun hab ich das Problem, dass im Word 20 Steuerelemente enthalten sind, deren Inhalt ich Summieren möchte.
Leider ist das Text und die Zahlen 200 und 100 summiert er mir nur in 200100 statt in 300.
Wie kann ich da eine Summe bilden, den nur diese möchte ich nach Excel übertragen ?
Hier der code (Fett markiert wo ich problem habe)
Public Sub Main2()
Dim objWord As Object, objDocument As Object
Dim IDNummer As Long
Dim rZelle As Range
Dim Zeile
On Error Resume Next
Set objWord = GetObject(Class:="Word.Application")
Set objDocument = objWord.Documents(1)
'IDNummer aus aktuellen Word Dok auslesen
If objDocument.ContentControls.Count = 0 Then
MsgBox "Es ist keine Vorlage (Word) geöffnet."
Exit Sub
Else
With objDocument.ContentControls
IDNummer = .Item(1).Range.Text
End With
Sheets("Datenbank").Select
With ActiveSheet.Rows
Set rZelle = Range("A5:A50000").Find(What:=IDNummer, LookAt:=xlWhole, LookIn:=xlValues, _
SearchOrder:=xlByRows)
End With
If rZelle Is Nothing Then
Zeile = Sheets("Datenbank").Cells(Rows.Count, 1).End(xlUp).Row + 1
With objDocument.ContentControls
Sheets("Datenbank").Cells(Zeile, 1) = .Item(7).Range.Text ' CV ID Nummer
End With
Else
Zeile = rZelle.Row
End If
With objDocument.ContentControls
Sheets("Datenbank").Cells(Zeile, 2) = .Item(13).Range.Text ' Antragsteller
Sheets("Datenbank").Cells(Zeile, 3) = .Item(11).Range.Text ' Thema
Sheets("Datenbank").Cells(Zeile, 4) = .Item(12).Range.Text ' Beschreibung
'Item(14) nicht vorhanden ?
Sheets("Datenbank").Cells(Zeile, 5) = .Item(15).Range.Text ' KST
Sheets("Datenbank").Cells(Zeile, 6) = .Item(16).Range.Text ' ORG ID / Kontierung
Sheets("Datenbank").Cells(Zeile, 7) = .Item(17).Range.Text ' Bestellnummer
Sheets("Datenbank").Cells(Zeile, 8) = .Item(20).Range.Text ' Datum
Sheets("Datenbank").Cells(Zeile, 9) = .Item(19).Range.Text ' Auftragscluster
Sheets("Datenbank").Cells(Zeile, 10) = .Item(8).Range.Text ' PS ID
Sheets("Datenbank").Cells(Zeile, 11) = .Item(21).Range.Text ' Angebot h
Sheets("Datenbank").Cells(Zeile, 12) = .Item(22).Range.Text ' Angebot Euro
Sheets("Datenbank").Cells(Zeile, 13) = .Item(9).Range.Text ' Vorr Nr
Sheets("Datenbank").Cells(Zeile, 14) = .Item(10).Range.Text ' Inv Nr.
Dim test As Integer
'Summenberechnung Euro und Stunden
test = .Item(24).Range + .Item(25).Range
Sheets("Datenbank").Cells(Zeile, 15) = test
End With
'Word Dokument schliessen
objDocument.Close False
Set objDocument = Nothing
Set objWord = Nothing
End If
Wer weiß wie`s geht ?
Liebe Grüße
Stefan

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Word Steuerelement Wert summieren
19.04.2016 15:55:06
Werner
Hallo Stefan,
versuch mal
test = Cdbl(.Item(24).Range) + Cdbl(.Item(25).Range)
Gruß Werner

AW: Word Steuerelement Wert summieren
19.04.2016 15:58:33
yummi
Hallo Stefan,
mal ungetestet:
mach mal aus deiner Zeile so etwas

test = Val(.Item(24).Range) + Val(.Item(25).Range)
Damit wandelst Du den String in eine Zahl und kannst rechnen.
Gruß
yummi

AW: Word Steuerelement Wert summieren
20.04.2016 08:05:50
Stef26
Hallo an Alle die sich meinem Problem angenommen haben.
Wollte mich recht herzlich bedanken.
Funktioniert super
DANKE
:-)
Stefan

AW: Word Steuerelement Wert summieren
19.04.2016 16:43:41
snb
Etwas einfacher und etwas schneller:
Sub M_snb()
ReDim sn(14)
With GetObject("G:\OF\beispiel.docx")
For j = 1 To 15
sn(j - 1) = .contentcontrols(Choose(j, 1, 13, 11, 12, 15, 16, 17, 20, 19, 8, 21, 22, 9,  _
10, 24)).Range.Text
Next
sn(14) = val(sn(14)) + val(.contentcontrols(25).range.text)
On Error Resume Next
y = Sheets("Datenbank").Cells(Rows.Count, 1).End(xlUp).Offset(1).Row
y = Sheets("Datenbank").Columns(1).Find(.contentcontrols(1).Range.Text).Row
Sheets("Datenbank").Cells(y, 1).Resize(, 15) = sn
.Close 0
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige