Clever-Excel-Forum

Normale Version: Fehlende Funktionalitäten in Excel / Brainstorming
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Moin zusammen!

Ich bin gerade dabei, ein Add-In zu erstellen, welches die Bedienung von Excel erleichtern soll.
Mir geht es darum, häufig benötigte Abläufe zu integrieren, die mit "Bordmitteln" nur umständlich zu realisieren sind.
("sprechende" Shortcuts inclusive)

Vielleicht erfahre ich auf diesem Wege benötigte Funktionen, die ich vermisse, obwohl es mir bislang nicht auffiel …  :19:

Ich fange mal mit vier Sachen an, die ich im Alltag sehr häufig nutze:

Datei neu laden
gibt es bei OO, bei Excel nicht (Strg+Umsch+N):

Sub NeuLaden()
Application.DisplayAlerts = False
With ActiveWorkbook
  If .Saved Then Exit Sub
  If Dir(.FullName) <> "" Then
     Workbooks.Open .FullName
  Else
     MsgBox .FullName & " wurde noch nicht gespeichert!"
  End If
End With
End Sub


Formeln mit Werten ersetzen
Gern in Verbindung mit =Zufallsbereich() (Strg+Umsch+W):
Sub FormulaToValue()
Selection.Value = Selection.Value
End Sub

Spaltenbreite optimieren
Gerade nach einem Import häufig genutzt (Strg+Umsch+B):
Sub SpaltenOpt()
ActiveSheet.Cells.EntireColumn.AutoFit
End Sub

Zeilen/Spalten einblenden
Auf einen Rutsch, ohne Maus-Jongliererei (Strg+Umsch+E):
Sub AlleEinblenden()
With ActiveSheet.Cells
  .EntireColumn.Hidden = False
  .EntireRow.Hidden = False
End With
End Sub

Vorschläge sind willkommen!

Gruß Ralf
Hi Ralf,

so auf die ganz schnelle Schnelle ;)  fällt mir ad hoc ein, dass in OO die Spaltenbreite und die Zeilenhöhe in cm angegeben werden kann. Klar, auf dem Papier kommt's meistens ein klein wenig anders raus, aber ich habe dabei trotz allem gute Ergebnisse erzielt. In meinen Formeln- bzw. Codeschnipsel-Sammlungen habe ich irgendwo ein Makro "gebunkert", das dieses auch in XL realisiert - hab's aber gerade nicht gefunden. Ich schau da heute abend mal genauer nach - vielleicht dient es dir als Anhaltspunkt.

Übrigens, Hut ab und schon vorab ein großes Dankeschön für dein Engagement.
Hallo Ralf,

willst Du nur Vorschläge oder auch gleich codes dazu?

z.b.
alle offenen Exceldateien ohne Speichern schließen
alle offenen Exceldateien mit speichern schließen

mit dem Ansatz
Code:
For i = Workbooks.count To 1 Step -1
    If Workbooks(i).name <> ThisWorkbook.name Then Workbooks(i).Close False
  Next
Hi Ralf,

ich habe die Codes gefunden. Ich weiß leider nicht mehr, woher ich die habe und wer sie geschrieben hat. Hoffentlich macht das nichts aus.

Hier für die Spaltenbreite...


Code:
Sub Spaltenbreite()
Dim sBreite As Single
Dim sAktuell As Single
Dim strText As String
Dim strAntwort As String
 sAktuell = (Selection.ColumnWidth + 0.71) / 5.1425
 strText = "Aktuelle Spaltenbreite: " & _
   Format(sAktuell, "###0.00 cm") & Chr(13) _
   & "Geben Sie die gewünschte Spaltenbreite für die " & _
   "aktuelle Spalte oder Markierung in cm ein:"
 strAntwort = InputBox(strText, "Neue Spaltenbreite festlegen", _
 Format(sAktuell, "###0.00"))
  If strAntwort <> "" Then
    sBreite = CSng(strAntwort)
    Selection.ColumnWidth = -0.71 + 5.1425 * sBreite
  End If
End Sub


... und hier für die Zeilenhöhe


Code:
Sub Zeilenhoehe()
Dim sHoehe As Single
Dim sAktuell As Single
Dim strText As String
Dim strAntwort As String
 sAktuell = Selection.RowHeight / 29.5
 strText = "Aktuelle Zeilenhöhe: " & Format(sAktuell, "###0.00 cm") _
   & Chr(13) & "Geben Sie die gewünschte Zeilenhöhe für die " & _
   "aktuelle Zeile oder Markierung in cm ein:"
 strAntwort = InputBox(strText, "Neue Zeilenhöhe festlegen", _
 Format(sAktuell, "###0.00"))
  If strAntwort <> "" Then
    sHoehe = CSng(strAntwort)
    Selection.RowHeight = sHoehe * 29.5
  End If
End Sub
Hi Günter,

(18.12.2015, 21:00)WillWissen schrieb: [ -> ]ich habe die Codes gefunden. Ich weiß leider nicht mehr, woher ich die habe und wer sie geschrieben hat. Hoffentlich macht das nichts aus.

http://netcult.ch/MVP_Ramel/Files/AddIns..._in_cm.XLA Wink

Gruß Uwe
Hi Uwe,

danke für den Hinweis.
Die Spaltenbreite:

Code:
Sub SpaltenOpt()
   ActiveSheet.Columns.AutoFit
End Sub

Code:
Sub AlleEinblenden()
  With ActiveSheet
    .Columns.Hidden = False
    .Rows.Hidden = False
  End With
End Sub

und
Code:
MsgBox .FullName & " wurde noch nicht gespeichert!"
stiimt nicht, weil es kein .fullname gibt ohne Speicherung.
Hi,

(19.12.2015, 22:41)snb schrieb: [ -> ]
Code:
MsgBox .FullName & " wurde noch nicht gespeichert!"
stiimt nicht, weil es kein .fullname gibt ohne Speicherung.

Dein Unwissen darfst Du gerne für Dich behalten!  :@

Gruß Uwe
Ich möchte vorschlagen:

Code:
Sub M_snb()
    For Each it In Sheets(1).Cells(10, 4).Precedents
      With Sheets(1).Cells(10, 4)
        .Replace it.Address(0, 0), it.Address
        .Replace it.Address(0, 1), it.Address
        .Replace it.Address(1, 0), it.Address
      End With
    Next
End Sub
Hi,

(20.12.2015, 00:05)snb schrieb: [ -> ]Ich möchte vorschlagen:

danke für den Vorschlag, nur:
ich weiß nicht, was wo stehen muß und was das Makro macht.

Hilf mir bitte mit etwas Erleuchtung.
Seiten: 1 2