Hallo Interessierte,
nachfolgend habe ich einen Code gebastelt, der hilfreich sein kann wenn man hier Tabellenausschnitte samt Formeln zum bessern Verständnis von Fragen/Antworten reinstellen will.
Die Anwendung ist simpel,
I) in der Tabelle den gewünschten Bereich markieren,
II) das Makro www() ausführen lassen
(durch tastenkombination, Extras–Makro–Makros–Ausführen oder mit F5 diekt im VB-Editor.
Ist ein Prototyp, grade aus dem Boden gestampft also nicht meckern wenn was nicht klappt, andrerseits jde Rückmeldung zwecks Verbesserung ist mir lieb. Natürlich können auch andere den Code verfeinern.
Und zum Ausprobieren, einfach auf beliebige Frage antworten, Makro benutzen und dann hier Strg-V, dann hier auf Vorschau klicken.
Falls dann mal aus Versehen der Beirag abgeschickt worden ist, unbeantwortete Beiträge kann man selbst wieder löschen:smile:
Gruß
Reinhard
(Alt+F11, Einfügen Modul, Code reinkopieren, Editor schliessen)
Sub www()
With Selection
anzS = .Columns.Count
anzZ = .Rows.Count
ReDim Breite(anzS)
ReDim Satz(anzZ)
For s = 1 To anzS
Breite(s) = 0
For z = 1 To anzZ
If Len(.Cells(z, s).Value) \> Breite(s) Then
Breite(s) = Len(.Cells(z, s).Value)
End If
Next z
Next s
For z = 1 To anzZ
Satz(z) = Right(" " & .Cells(z, 1).Row, Len(.Cells(anzZ, 1).Row)) & " "
'Satz(z) = "" & Satz(z) & ""
Next z
Mastersatz = Mastersatz & "Tabellenblattname: " & ActiveSheet.Name & vbLf & vbLf
Mastersatz = Mastersatz & " " & String(Len(.Cells(anzZ, 1).Row), " ")
For s = 1 To anzS
A1Name = SName(.Cells(1, s).Column)
If Breite(s) " & A1Name & "" & String(hinter, " ") & " "
Mastersatz = Mastersatz & String(vor, " ") & A1Name & String(hinter, " ") & " "
Next s
Mastersatz = Mastersatz & vbLf
For z = 1 To anzZ
For s = 1 To anzS
Satz(z) = Satz(z) & Right(String(Breite(s), " ") & .Cells(z, s).Value, Breite(s)) & " "
Next s
Mastersatz = Mastersatz & Satz(z) & vbLf
Next z
Formeln = ""
For z = 1 To anzZ
For s = 1 To anzS
If .Cells(z, s).HasFormula Then
Formeln = Formeln & .Cells(z, s).Address(0, 0) & ": " & .Cells(z, s).FormulaLocal & vbLf
End If
Next s
Next z
If Formeln "" Then Formeln = vbLf & vbLf & "Benutzte Formeln:" & vbLf & Left(Formeln, Len(Formeln) - 1)
Mastersatz = "
" & Left(Mastersatz, Len(Mastersatz) - 1) & Formeln & "
"
End With
Set kurz = New DataObject
kurz.SetText Mastersatz
kurz.PutInClipboard
Set kurz = Nothing
End Sub
Function SName(ByVal sp As Integer) As String
If sp