Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Speicher und ChartSpace Problem
#11
Für das das ich vor 2 Monat zum ersten mal von VBA gehört habe

Danke für deine Anerkennung


Habe das neue Audit mal hinterlegt
Leeren Funktioniert auf allen Pages
Drucken Funktioniert da ich die Userform Drucke
Speichern geht noch in die Falsche richtung aber mit ein wenig Hilfe wird das noch werden

Braucht ein wenig beim Laden der Spreatsheets

 
.xlsm   Audit.xlsm (Größe: 277,94 KB / Downloads: 5)
Antworten Top
#12
Hallo zusammen

Vielleicht hat jemand eine Idee wie die Formel ändern muss so das sie in der Userform funktioniert

   

Der Rot Markierte Bereich sollte in die Tabelle Übersicht gespeichert werden
Hab an 2 Varianten schon herumgedoktert aber ohne erfolg  Huh

Code:
Private Sub CommandButton_Speichern_Click()
'Dim objControl As MSForms.Control
Dim obj As Object
Dim ziel As Double
Dim arr(10) As Variant
Dim az As Integer
ziel = range("A65536").End(xlUp).row
For Each obj In Me.Controls
'For Each objControl In MultiPage1.SelectedItem.Controls
   If Left(obj.Name, 4) = "Textbox" Then
    'If TypeOf objControl Is MSForms.TextBox Then
       'arr(az) = obj.Value
       arr(az) = obj
       az = az + 1
   End If
Next obj
'Next objControl
Worksheets("Übersicht").range("A" & ziel, "J" & ziel) = arr

End Sub

Der Blau Makierte Bereich soll je nach Auswahl der Combobox in die Tabelle und denn gewünschte Zeile gespeichert werden
Habe hier etwas für die ersten 2 Pages aber wie ändere ich diese so das man von der Userform speichert Huh


Code:
Dim locations
locations = ComboBox.Value("Scheibbs", "Purkersdorf", "St Pölten URB", "Lilienfeld", "Wien")
   Select Case ComboBox.Value
     
       Case "Scheibbs": UserForm2.ComboBox.Value.Copy
       Worksheets("Scheibbs").Cells(1, Cells(1, Columns.Count).End(xlToLeft).Column + 1).PasteSpecial xlPasteValues
   
   
   
Dim locations
locations = Array("Scheibbs", "Purkersdorf", "St Pölten URB", "Lilienfeld", "Wien")
Select Case (range("J6"))

Case "Scheibbs": Worksheets("Menü").range("O42").Copy
Worksheets("Scheibbs").Cells(1, Cells(1, Columns.Count).End(xlToLeft).Column + 1).PasteSpecial xlPasteValues

Case "Purkersdorf": Worksheets("Menü").range("O42").Copy
Worksheets("St Pölten").Cells(1, Cells(1, Columns.Count).End(xlToLeft).Column + 1).PasteSpecial xlPasteValues

Case "St Pölten URB": Worksheets("Menü").range("O42").Copy
Worksheets("St Pölten URB").Cells(1, Cells(1, Columns.Count).End(xlToLeft).Column + 1).PasteSpecial xlPasteValues

Case "Lilienfeld": Worksheets("Menü").range("O42").Copy
Worksheets("Lilienfeld").Cells(1, Cells(1, Columns.Count).End(xlToLeft).Column + 1).PasteSpecial xlPasteValues

Case "Wien": Worksheets("Menü").range("O42").Copy
Worksheets("Wien").Cells(1, Cells(1, Columns.Count).End(xlToLeft).Column + 1).PasteSpecial xlPasteValues

End Select

Select Case (range("AC6"))
Case "Scheibbs": Worksheets("Menü").range("AH42").Copy
Worksheets("Scheibbs").Cells(1, Cells(1, Columns.Count).End(xlToLeft).Column + 1).PasteSpecial xlPasteValues

Case "Purkersdorf": Worksheets("Menü").range("AH42").Copy
Worksheets("St Pölten").Cells(1, Cells(1, Columns.Count).End(xlToLeft).Column + 1).PasteSpecial xlPasteValues

Case "St Pölten URB": Worksheets("Menü").range("AH42").Copy
Worksheets("St Pölten URB").Cells(1, Cells(1, Columns.Count).End(xlToLeft).Column + 1).PasteSpecial xlPasteValues

Case "Lilienfeld": Worksheets("Menü").range("AH42").Copy
Worksheets("Lilienfeld").Cells(1, Cells(1, Columns.Count).End(xlToLeft).Column + 1).PasteSpecial xlPasteValues

Case "Wien": Worksheets("Menü").range("AH42").Copy
Worksheets("Wien").Cells(1, Cells(1, Columns.Count).End(xlToLeft).Column + 1).PasteSpecial xlPasteValues

End Select

For Index = 0 To 4 Step 1
EverythingisFasterNowJ6 (locations(i))
EverythingisFasterNowAC6 (locations(i))
Next Index


End Sub
Sub EverythingisFasterNowAC6(ByVal location As String)
Worksheets("Menü").range("AN22:AP22").Copy
Worksheets(location).Cells(8, Cells(8, Columns.Count).End(xlToLeft).Column + 3).PasteSpecial xlPasteValues
Worksheets("Menü").range("AN23:AP23").Copy
Worksheets(location).Cells(14, Cells(14, Columns.Count).End(xlToLeft).Column + 3).PasteSpecial xlPasteValues
Worksheets("Menü").range("AN24:AP24").Copy
Worksheets(location).Cells(17, Cells(17, Columns.Count).End(xlToLeft).Column + 3).PasteSpecial xlPasteValues
Worksheets("Menü").range("AN25:AP25").Copy
Worksheets(location).Cells(30, Cells(30, Columns.Count).End(xlToLeft).Column + 3).PasteSpecial xlPasteValues
Worksheets("Menü").range("AN26:AP26").Copy
Worksheets(location).Cells(32, Cells(32, Columns.Count).End(xlToLeft).Column + 3).PasteSpecial xlPasteValues
Worksheets("Menü").range("AN27:AP27").Copy
Worksheets(location).Cells(40, Cells(40, Columns.Count).End(xlToLeft).Column + 3).PasteSpecial xlPasteValues
Worksheets("Menü").range("AN28:AP28").Copy
Worksheets(location).Cells(37, Cells(37, Columns.Count).End(xlToLeft).Column + 3).PasteSpecial xlPasteValues
Worksheets("Menü").range("AN29:AP29").Copy
Worksheets(location).Cells(49, Cells(49, Columns.Count).End(xlToLeft).Column + 3).PasteSpecial xlPasteValues
End Sub

Sub EverythingisFasterNowJ6(ByVal location As String)
Worksheets("Menü").range("AN22:AP22").Copy
Worksheets(location).Cells(7, Cells(7, Columns.Count).End(xlToLeft).Column + 3).PasteSpecial xlPasteValues
Worksheets("Menü").range("AN23:AP23").Copy
Worksheets(location).Cells(8, Cells(8, Columns.Count).End(xlToLeft).Column + 3).PasteSpecial xlPasteValues
Worksheets("Menü").range("AN24:AP24").Copy
Worksheets(location).Cells(20, Cells(20, Columns.Count).End(xlToLeft).Column + 3).PasteSpecial xlPasteValues
Worksheets("Menü").range("AN25:AP25").Copy
Worksheets(location).Cells(22, Cells(22, Columns.Count).End(xlToLeft).Column + 3).PasteSpecial xlPasteValues
Worksheets("Menü").range("AN26:AP26").Copy
Worksheets(location).Cells(28, Cells(28, Columns.Count).End(xlToLeft).Column + 3).PasteSpecial xlPasteValues
Worksheets("Menü").range("AN27:AP27").Copy
Worksheets(location).Cells(29, Cells(29, Columns.Count).End(xlToLeft).Column + 3).PasteSpecial xlPasteValues
Worksheets("Menü").range("AN28:AP28").Copy
Worksheets(location).Cells(33, Cells(33, Columns.Count).End(xlToLeft).Column + 3).PasteSpecial xlPasteValues
Worksheets("Menü").range("AN29:AP29").Copy
Worksheets(location).Cells(34, Cells(34, Columns.Count).End(xlToLeft).Column + 3).PasteSpecial xlPasteValues
End Sub


Danke im vorhinein für eure Hilfe
Antworten Top
#13
Hallo Lea,

wo hakt es denn genau? Hast Du mal die Inhalte Deiner Variablen geprüft? Gehe dazu den Code schrittweise mit F8 durch, und kontrolliere auch ab und zu, was auf dem Blatt passiert.
(Wenn, wie im Bild dargestellt, in den Boxen nichts steht, dann kommt auch nichts ins Blatt.)  

Zuerst mal zum ersten Code.
Da könnte diese Zeile bewirken, dass Du immer wieder die letzte Zeile Deines Datenbereichs überschreibst
ziel = range("A65536").End(xlUp).row
denn mit xlUp kommst Du meistens in die letzte beschriebene Zelle.
Könnte aber sein, dass Du erst in Axxx was einträgst, was dann überschrieben werden soll?

Ansonsten müsste er aber laufen - sofern nicht zu viele TextBoxen angesprochen werden.

Da wäre statt diesem Satz "Hab an 2 Varianten schon herumgedoktert aber ohne erfolg" eine Fehlermeldung interessant, falls eine kommt Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#14
@[b]schauan[/b]
Entschuldige hatte ein wenig viel um die Ohren
Danke für Deinen hinweiß
Hatte keine Fehlermeldungen oder der gleichen
Hab nun alles neu gemacht neue Sheets neue Userform und schau an selbst das ChartSpace funkt zwar nicht so schon aber es geht
das Speichern geht auch zwar nur page1 aber es wird mit euer hilfe
Code:
   Dim lngIndex As Long
   With Tabelle8
       With .Cells(.Rows.Count, 1).End(xlUp).Offset(1)
           For lngIndex = 1 To 10
               .Offset(, lngIndex - 1).Value = _
                   Controls("TextBox" & CStr(lngIndex)).Text
           Next
       End With
   End With
da = 1 to 10 nur die ersten 10 Textboxen anspricht


Also wie muss ich diesen Code umschreiben um die restlichen Textboxen anzusprechen die auf den Pages liegen

Danke euch schon mal im vorhinein
Hab mal das neue Audit im Anhang


Angehängte Dateien
.xlsm   Auditneu1.xlsm (Größe: 326,14 KB / Downloads: 0)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste