Spaltenbreite
20.09.2021 17:55:21
Dieter
Ich habe mal wieder ein kleines Problem welches nicht funktioniert.
und zwar im folgenden Code bekomme ich die Spaltenbreite nicht hin.
Private Sub CommandButton2_Click()
' Kopieren aller Zeilen die strSearch= in Spalte C enthalten in das Erste Tabellenblatt
Dim ws As Worksheet, _
rErg As Range, _
strSearch As String, _
StrFirstFound As String, _
iFound As Integer
strSearch = InputBox("wonach wollen Sie suchen?", , "")
If strSearch = "" Then Exit Sub
Worksheets.Add Before:=Worksheets(1) 'wird ein Tabellenblatt ganz rechts erstellt
ActiveSheet.Name = "Gefunden"
' ThisWorkbook.Worksheets(1).Cells.ClearContents 'ACHTUNG erstes Tabellenblatt wird vollständig geleert
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=Range("D1").Left, Top:=Range("D1").Top, Width:=150, _
Height:=50).Select
For Each ws In ThisWorkbook.Worksheets
If ws.Index > 1 Then
Set rErg = ws.Range("C:C").Find(strSearch)
If Not rErg Is Nothing Then
StrFirstFound = rErg.Address
Do
iFound = iFound + 1
'Ausgabe Fundzeile
rErg.EntireRow.Copy (ThisWorkbook.Worksheets(1).Cells(iFound, 1))
Set rErg = ws.Range("C:C").FindNext(rErg)
Loop While Not rErg Is Nothing And rErg.Address StrFirstFound
End If
End If
Next ' ws
ActiveSheet.Range("A:B,D:E").Select
' Application.ScreenUpdating = False ' Wegblenden der Ausführung
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
Selection.ColumnWidth = 14
End With
ActiveSheet.Range("C7").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
End With
Columns("A:B").ColumnWidth = 14 ' Spaltenbreite
Columns("C:C").ColumnWidth = 100
Columns("D:E").ColumnWidth = 10
ActiveSheet.Range("D:D").Select
Selection.NumberFormat = "0.00"
ActiveSheet.Range("A3").Select
End Sub
Ich lasse mir ein neues Tabellen Blatt erstellen mit dem Namen "Gefunden". ' KlapptDann wird mir alles gesucht und in die neue Tabelle "Gefunden" geschrieben. ' klappt
bis auf wenn er nichts findet erstellt er mir auch das neue Blatt und den neuen Button.
Wenn er aber was findet, dann soll er mir im neuen Tabellenblatt die Spalten verbreitern,
im letzten Teil des Code dies ist der Knackpunkt bei mir was nicht hinhaut.
Weiß einer Rat ?
Was auch noch schön wäre, wenn der Commandbutton1 den ich im neuen Blatt erstelle dem auch einen Namen zuordnen könnte anstatt Commanbutton1
für die weiter Behandlung der Tabelle.
Auch für sonstige oder einen besseren schnelleren Code als meiner wäre ich dankbar.
Schon mal vielen Dank der Mühe
Mfg.
Dieter