Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Übernahme in Word Format wird nicht übernommen


Betrifft: Übernahme in Word Format wird nicht übernommen von: Peter
Geschrieben am: 12.09.2019 08:46:14

Guten Morgen,

ich habe in einer Zelle eine Telefonnummer(Range("E2"). Diese ist damit die "0" vorne angezeigt wird mit benuterdefiniert: 0000000000 formatiert.

Diese Daten werden in andere Tabelle mittels Formel übernommen (Range("A12") ebenfalls mit benutzerdefiniert: 0000000000 formatiert.

Nun übernehme ich die Daten per Makro in Word. Ergebnis es wird nur der Text ohne Format übernommen also ohne vorangestellte "0".

Was muss ich bitte ändern, damit die richtige Zahl übernommen wird?

Besten Dank für eure Hilfe.

Gruss
Peter

  

Betrifft: AW: Übernahme in Word Format wird nicht übernommen von: 1712589.html
Geschrieben am: 12.09.2019 08:49:17

Hi, ohne Deinen Code zu kenne, müsste das mit der Format-Funktion machbar sein, also:

Ziel = Format(Range("A12"),"0000000000")

Gruß
Regina

  

Betrifft: AW: Übernahme in Word Format wird nicht übernommen von: 1712590.html
Geschrieben am: 12.09.2019 08:53:44

Hallo Regina,

die Formel lautet: =WENNFEHLER(VERWEIS(9;1/(Kontoinhaber!F1:F9>=1*M2)/(Kontoinhaber!F1:F9<=1*M3);Kontoinhaber!E:E);Kontoinhaber!E2)

Dies ist aber nicht der entscheidende Punkt. Da ich die Zelle mit benutzerdefiniertem Format eingestellt habe, wird die Zahl richtig in der Zelle angezeigt.

Wenn ich die Zelle jedoch übernehme in Word, wird das Format nicht berücksichtigt, sondern ohne "0" übernommen.

Gruss
Peter

  

Betrifft: AW: Übernahme in Word Format wird nicht übernommen von: 1712593.html
Geschrieben am: 12.09.2019 08:55:46

... wie lautet denn die Codezeile, in der Du den Wert nach Word schiebst?
Gruß
Regina

  

Betrifft: AW: Übernahme in Word Format wird nicht übernommen von: 1712595.html
Geschrieben am: 12.09.2019 08:59:37

Hallo Regina,

es handelt sich um folgenden Code:


<pre>Sub Transfer_zu_Word_2()
'Makro aus: https://www.herber.de/forum/archiv/916to920/916363_Textuebergabe_an_aktives_WORDdoc.html

Dim ws As Worksheet, rg1 As Range, rg2 As Range, _
s As String, i As Integer

'Anfang Auslesen der Tabelle - Zelle
Set ws = ThisWorkbook.Worksheets("Worddaten")
' Set rg1 = ws.Range("B3") 'bestimmte Zelle
Set rg1 = ws.UsedRange 'markierte Zelle
'Ende Auslesen der Tabelle - Zelle

Dim objWordApp
Dim objWordDoc
Dim objTB
Dim intI As Integer

'Mit geöffneter Word-Applikation connecten
Set objWordApp = GetObject(, "Word.Application")
objWordApp.Visible = True

' i = 0
' For Each rg2 In rg1
' i = i + 1
' s = CStr(rg2.Value)
' objWordApp.Run "datenInUserform1", i, s
' Next rg2

Application.DisplayAlerts = False

With objWordApp
.Visible = True
.WindowState = 1
.Activate 'hiermit wird nach Ausführung Worddokument angezeigt für Weiterbearbeitung
' .Selection.TypeText Text:=ActiveCell.Value & Chr(13) 'fügt ausgewählten Text ein und aktiviert die nächste Zeile
.Selection.TypeText Text:=ActiveCell.Value & Chr(13) 'fügt ausgewählten Text ein und aktiviert die nächste Zeile
End With

Application.DisplayAlerts = True

' Set rg2 = Nothing
Set rg1 = Nothing
' Set ws = Nothing

Set objWordApp = Nothing

End Sub</pre>


Dieser ist zum Teil noch auskommentiert und er übernimmt alle Zellen, welche aktiviert werden.

Daher müsste der Wert in der Tabelle konkret mit "0" vorangestellt sein.

Gruss
Peter

  

Betrifft: AW: Übernahme in Word Format wird nicht übernommen von: 1712597.html
Geschrieben am: 12.09.2019 09:06:50

Hallo Peter,

versuch mal als Text zu übergeben und nicht als Value

ActiveCell.Text 
Gruß Werner
  

Betrifft: AW: Übernahme in Word Format geklärt von: 1712600.html
Geschrieben am: 12.09.2019 09:09:50

Hallo Werner,

besten Dank für Deine Hilfe.

Das ist die Lösung.

Gruss
Peter

  

Betrifft: Gerne u. Danke für die Rückmeldung. o.w.T. von: 1712601.html
Geschrieben am: 12.09.2019 09:13:39


  

Betrifft: AW: Gerne u. Danke für die Rückmeldung. o.w.T. von: 1712603.html
Geschrieben am: 12.09.2019 09:17:10

Hallo Werner,

ich kenne Dich jetzt bereits aus mehreren hilfreichen Lösungen. Hierfür besten Dank.

Jetzt habe ich eine Frage genau zu dem Thema Telefonnummer.

Gibt es eine Möglichkeit per Formel oder VBA die Telefonnummer von vornherein immer mit vorangestellter "0" einzugeben. Vermutlich Zelle als Text formatieren. Lieg ich da richtig?

Gruss
Peter

  

Betrifft: AW: Gerne u. Danke für die Rückmeldung. o.w.T. von: 1712606.html
Geschrieben am: 12.09.2019 09:26:47

Hallo Peter,

so:
=0&deineFormel

In der Ergebniszelle steht dann aber Text.

Gruß Werner

  

Betrifft: AW: Danke für Hinweis von: 1712608.html
Geschrieben am: 12.09.2019 09:30:14

Hallo Werner,

das ist Super!

Gruss
Peter

  

Betrifft: Gerne. o.w.T. von: 1712621.html
Geschrieben am: 12.09.2019 09:54:41


  

Betrifft: AW: Übernahme in Word Format geklärt von: 1712604.html
Geschrieben am: 12.09.2019 09:23:48

Hallo Peter,
der Vorschlag von Regina war genauso gut, wenn nicht sogar besser:
.Selection.TypeText Text:=Format(Activecell.Value, "000000000000") & Chr(13)

man muß es einfach auch mal anwenden. Dieser Vorschlag bestimmt, wie man den Wert in Word sehen will, auch wenn man in Excel eine andere Sicht haben will.
Weitere Anmerkungen meinerseits:
- ActiveCell ist in der Vba-Programmierung keine gute Idee
  hier sind Range-Objekte viel besser und man muß den .Select-Befehl nicht verwenden
- Set objWordApp = GetObject(, "Word.Application")
  hier sollte man danach sofort prüfen, ob Word überhaupt geöffnet ist mit
  If objWordApp Is Nothing Then
MsgBox ""Es ist keine Word-Instanz geöffnet",16,"zur Info"
Exit Sub
End If
- genau so muß man noch prüfen, ob ein Word-Dokument offen ist
  denn sonst nutzt '.Selection.TypeText' Garnichts und Vba meckert.

Gruß von Luschi
aus klein-Paris

  

Betrifft: AW: Übernahme in Word Format geklärt von: 1712618.html
Geschrieben am: 12.09.2019 09:46:54

Hallo Luschi,

besten Dank für die hilfreichen Informationen.

Mein Makro ist noch nicht fertig sondern erst ein Versuch die Daten von Excel-Tabelle in Word-Dokument zu bekommen.

Den Vorschlag von Regina, welchen Du ausführst habe ich nicht erhalten. M.E. ist dieser aber nur auf die gestimmte markierte Zelle mit der Telefonnummer anzuwenden. Bei anderen Werten m.E. nicht(noch nicht geprüft).

Die Abfragen bezüglich ob Word geöffnet ist bzw. das Word-Dokument geöffnet ist werde ich noch einbauen. Bezüglich Deinen Ausführung bezüglich ActiveCell ist dies nur ein Versuch. Ich werde in der Zukunft das ganze aus einer UF steuern. Dann werden die Daten nicht aus einer aktiven Zelle sondern aus einer TextBox übergeben. Da entspricht dann dem, was Du angeführt hast mit Range-Objekt, falls ich Dich hier richtig verstanden habe.

Falls ich hier noch einen Fehler haben sollte, wäre ich Dir dankbar, wenn Du mir noch eine Info zukommen lassen würdest.

Gruss
Peter

Beiträge aus dem Excel-Forum zum Thema "Übernahme in Word Format wird nicht übernommen"