Microsoft Excel

Herbers Excel/VBA-Archiv

Textformate übernehmen | Herbers Excel-Forum


Betrifft: Textformate übernehmen von: Hugo
Geschrieben am: 25.11.2009 10:09:08

Hallo Zäme

Kann man in Excel folgendes machen:
In Datei AAA in Tabelle 1 habe ich einen Eintrag in einer Zelle.

Beispiel: Einträge sind verschieden formatiert
------------------------------------------------------
Archiv
Dieser Eintrag ist zwingend

Durchzuführen

  • einlesen

  • abarbeiten

  • archivieren

  • ------------------------------------------------------

    Dieser Zellenwert lese (VBA-Script) ich in Tabelle 1 (Quelle) aus und in Tabelle 4 (Zusammenfassung) füge ich diesen ein. Nun möchte ich gerne, dass die Ursprungsformatierung gemäss Beispiel in der Tabelle 4 übernommen wird.

    Geht so etwas?

    Danke für einen möglichen Typ.

    Gruss
    Hugo

      

    Betrifft: siehe PasteSpecial-Methode owT von: Rudi Maintaire
    Geschrieben am: 25.11.2009 10:29:46




      

    Betrifft: AW: Textformate übernehmen von: OttoH
    Geschrieben am: 25.11.2009 10:31:44

    Hallo Hugo,

    unter 2003 läuft'smit folgendem Code:

    Sub Makro1()
        Range("A3").Select
        Selection.Copy
        
        Sheets("Tabelle3").Select
        Range("A4").Select
        
        ActiveSheet.Paste
    End Sub
    Gruß OttoH


      

    Betrifft: AW: Textformate übernehmen von: Hugo
    Geschrieben am: 26.11.2009 13:06:06

    Hallo OttoH

    Danke für den Hinweis. Ein direktes Kopieren nach deinem Hinweis geht super. Aber...

    ...in meinen Fall lese ich meinen Wert jeweils in eine Variable

    'Werte in Spalte C auslesen
            aStrTestnr = Application.Transpose( _
                Range(Cells(1, 3), Cells(x, 3)))
    Gibt es auch hierfür eine Möglichkeit die Formatierungen zu übernehmen?

    Gruss
    Hugo


      

    Betrifft: AW: Textformate übernehmen von: fcs
    Geschrieben am: 27.11.2009 03:55:41

    Hallo Hugo,

    verwende statt eines Arrays ein Range-Objekt für die Übertragung, dann kanst du Werte und Formate kopieren. Ansonsten müsstest du mühsehlig auch sämtliche Zell-Formate in ein mehrspaltiges Array einlesen und dann zellenweise in den Zielbereich übertragen.

    Gruß
    Franz

    Beispiel:

    Sub CopyTranspose()
      Dim rngTestNr As Range, x As Long, z As Long
      'Werte in Spalte C auslesen
        With Worksheets(1) 'oder auch Worksheets("TabelleXYZ")
          x = .Cells(.Rows.Count, 3).End(xlUp).Row
          Set rngTestNr = .Range(.Cells(1, 3), .Cells(x, 3))
        End With
        
        With Worksheets(2) 'oder auch Worksheets("TabelleABC")
          z = .Cells(.Rows.Count, 1).End(xlUp).Row + 1 'Zielzeile
          rngTestNr.Copy
          .Cells(z, 1).PasteSpecial Paste:=xlFormats, Transpose:=True
          .Cells(z, 1).PasteSpecial Paste:=xlValues, Transpose:=True
          Application.CutCopyMode = False
        End With
    End Sub
    



      

    Betrifft: AW: Textformate übernehmen von: Hugo
    Geschrieben am: 02.12.2009 09:49:44

    Hallo Franz

    Danke für deinen Input. Habe dies mal in einem neutralem Sheet ausprobiert. Funktioniert einwandfrei.
    Nun muss ich diese Arrays noch mit dem Range-Objekt bei mir auswechseln. Wird eine grössere Geschichte und somit will ich es langsam angehen lassen. Aber es ist genau das was ich gesucht habe.

    Gruss
    Hugo


    Beiträge aus den Excel-Beispielen zum Thema "Textformate übernehmen"