Menü
An- und Abmelden
Partner / Links
|
Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.
Nachrichten - Mynority
Seiten: [1]
1
« am: Juni 09, 2015, 16:33:08 Nachmittag »
Also, offenbar bricht alles zusammen, wenn ich versuche die Objekte mit zu kopieren. Wenn ich die Bilder und verlinkten pdf-objekte nicht mitnehme, dann funktioniert alles ohne komische Speicherfehlermeldungen.
Hat jemand so ein Problem schonmal gehabt?
Gibt es eine Möglichkeit z.B. aus Spalte B Zeile 2 bis x die Objekte separat (einzeln?) über eine Schleife zu kopieren?
Vielleicht gibt es dann keinen Fehler?
Also erst alle Zelleninhalte samt Links, und nachträglich die Bilder. aus B2 bis Bx nach B4 bis Bx+2 in die Datei1?
2
« am: Juni 09, 2015, 14:07:07 Nachmittag »
Hallo,
ich würde gerne folgendes Makro auf einen Button legen:
Situation: 1. Ich öffne Datei1 2. In der Datei1 gibt es im Tabellenblatt 4 bestimmte Felder (A4 bis Zx) x variiert (habe es immer von A4 bis Z4 markiert und über Strg-Umschalt-PfeilnachUnten) gemacht. 3. Ich lösche diese Zellen (einfach löschen funktioniert nicht, da Bilder an Zellen hängen, die durch die normale Entf-Taste nicht mit erfasst werden; auch über alle Objekte auswählen funktioniert es nicht, weil sonst alle Makro-Buttons mit erfasst werden) 4. Nachdem ich die Felder/Zellen gelöscht habe, öffne ich eine neue Datei (Beispielname: Datei2); Der Name ist immer identisch, nur die Daten werden monatlich aus einem Programm im selben Format exportiert. 5. In Datei 2 markiere ich alle Zellen von A2 bis Zx (x variiert hier ebenfalls, je nachdem ob die Liste länger wird) 6. Ich kopiere diese Zellen (Achtung in B2 bis Bx und N2 bis Nx befinden sich Bilder/GIFs; außerdem sind viele Zellen verlinkt). Dies bitte beim kopieren Berücksichtigen; da offenbar PasteSpecial nicht für Objekte funktioniert. 7. Und füge die kopierte Inhalte wieder in Datei 1 Tabellenblatt 4 in A4 rein, damit das Format das selbe bleibt. 8. Anschließend formatiere ich die neu importierten Daten mit: Rahmen um die Zelle + Texte nach links verschieben 9. Ich schließe Datei2 10. Fertig
Ich habe schon einiges probiert: Das oben beschriebene z.B. über die Aufnahme-Funktion. Das klappte ziemlich gut. Problem war, dass ich danach die Datei nicht mehr speichern konnte, weil er meinte, diese sei beschädigt. Dann habe ich es noch über folgenden VBA Code probiert (Kollege hat das erstellt, Originaldatei kann ich leider nicht bereitstellen, da wie ihr im Code seht es sich um sensible Daten handelt; aber oben steht eigentlich das nötigste; Das Problem ist, dass die Makros beide gut funktionieren, aber beim Speichern tritt immer ein kritischer Fehler auf und die Datei is futsch): Sub import_patents7() Dim wbAkt As Workbook, wbQuell As Workbook Dim wsAkt As Worksheet, wsQuell As Worksheet Dim rngDel As Range, rngQuell As Range, rngZiel As Range
'Finde den Bereich, wo die neuen Daten stehen Set wbQuell = Workbooks.Open(Filename:="G:\Innovation\_Management_Docs\export_patents.xlsx") Set wsQuell = wbQuell.Worksheets(1) With wsQuell Set rngQuell = .Range(.Cells(4, 1), .Cells(Rows.Count, 1).End(xlUp).Offset(0, 25)) Debug.Print "Quelle: " & wbQuell.Name & "." & wsQuell.Name & "." & rngQuell.Address End With
'Finde den Bereich, wo die alten Daten stehen Set wbAkt = ThisWorkbook Set wsAkt = wbAkt.ActiveSheet With wsAkt Set rngDel = .Range(.Cells(4, 1), .Cells(Rows.Count, 1).End(xlUp)).EntireRow Debug.Print "Ziel: " & wbAkt.Name & "." & wsAkt.Name & "." & rngDel.Address End With
'Kopiere die Daten rngDel.Value = "" rngQuell.Copy rngDel(1).PasteSpecial xlPasteValues Application.CutCopyMode = False With wsAkt Set rngZiel = .Range(.Cells(4, 1), .Cells(Rows.Count, 1).End(xlUp)).EntireRow End With Debug.Print rngZiel.Parent.Parent.Name & "." & rngZiel.Parent.Name & "." & rngZiel.Address
'Formatierung anpassen With rngZiel .Borders(xlDiagonalDown).LineStyle = xlNone .Borders(xlDiagonalUp).LineStyle = xlNone With .Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThin End With With .Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThin End With With .Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin End With With .Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThin End With With .Borders(xlInsideVertical) .LineStyle = xlContinuous .Weight = xlThin End With With .Borders(xlInsideHorizontal) .LineStyle = xlContinuous .Weight = xlThin End With .HorizontalAlignment = xlLeft .VerticalAlignment = xlTop .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With
Range("C2").Select
'Quelle schließen wbQuell.Close savechanges:=False
'aufräumen Set rngDel = Nothing Set rngZiel = Nothing Set wsAkt = Nothing Set wbAkt = Nothing Set rngQuell = Nothing Set wsQuell = Nothing Set wbQuell = Nothing
End Sub
Wäre froh, wenn wer helfen könnte!
3
« am: Juni 02, 2015, 16:58:01 Nachmittag »
Hallo,
ich habe folgenden Code (Makro): veddich 14:20 ub import_patents7() ' ' import_patents7 Makro '
' Workbooks.Open Filename:="G:\Innovation\_Management_Docs\export_patents.xlsx" Windows("Ideas_patents_overview_new3.xlsm").Activate Rows("4:4").Select Range(Selection, Selection.End(xlDown)).Select Selection.Delete Shift:=xlUp Windows("export_patents.xlsx").Activate Range("A2").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Windows("Ideas_patents_overview_new3.xlsm").Activate Range("A4").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlInsideHorizontal) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlTop .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With With Selection .HorizontalAlignment = xlLeft .VerticalAlignment = xlTop .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With Range("C2").Select Windows("export_patents.xlsx").Activate ActiveWindow.Close End Sub
Damit wollte ich eigentlich in einem gewissen Bereich die alten Daten löschen (sind auch Bilder und verlinkte Objekte drin) und aus einer anderen Datei dort wieder hineinkopieren (inklusive der Bilder und Pdf-Links). Die neuen Daten werden immer in der gleichen Reihenfolge erstellt. Anschließend die Datei schließen mit den neuen Daten und etwas an der Formatierung noch ändern.
Leider kann ich nach dem Benutzen des Makros die Datei nicht mehr speichern. Er meint, diese sei beschädigt worden. Woran liegt das?
Hat jemand ne bessere Lösung?
Viele Grüße Mynority
4
« am: Mai 29, 2015, 13:29:44 Nachmittag »
Okay, ich habe das Problem gestern noch gefunden.
Ich hatte ganz vergessen, dass ich die Zahlen über die Zufallsfunktion generiert habe um die Tabelle und weitere Funktionen zu testen.
Nach jedem Sortieren, hat er natürlich die Zufallszahlen nochmal neu generiert. Deswegen kam da nur Mist raus.
Bin erst drauf gekommen, als ich einen Teil der Tabelle für einen Versuch nochmal neu generiert habe.
5
« am: Mai 28, 2015, 16:09:36 Nachmittag »
Hallo,
ich habe folgendes Problem. Ich habe eine Tabelle, die ich gerne sortieren würde. Das klappt auch ganz wunderbar. Leider habe ich mit einer Spalte extreme Probleme. Die tut was sie will.
Diese Spalte enthält Formeln, die zu einem bestimmten Wert führt oder zu einem Test.
Hier ist die Formel als Beispiel: =WENN(UND(B4="";H4="");"";WENN(UND(S4="";T4="";U4="";V4="";W4="";X4="";Y4="";Z4="");"unrated"; WENN(ODER(S4="";T4="";U4="";V4="";W4="";X4="";Y4="";Z4="";S4>2;T4>2;U4>2;V4>2;W4>2;X4>2;Y4>2;Z4>2); "incomplete or false value";SUMME(S4:Z4))))
Das ganze wird dann komplett bis zur letzten zu bearbeitenden Spalte fortgeführt.
Als Ergebnis haben wir also: - Zahlen von 0-16 - Leere Zelle ("") - oder Text in Form von "incomplete or false value" oder "unrated"
Ich habe nur folgende Sortierfunktion: Sortieren von A bis Z Wenn ich das aber drücke, dann sortiert er mir die Zahlen überhaupt nicht nach Reihenfolge. Ich bekomme eine komplett undurchsichtige Sortierung. Er macht irgendwas, aber ich verstehe nicht was. Bin leider etwas frustriert.
Kann mir jemand sagen wie ich das Problem lösen kann?
Viele Grüße Mynority
{maninweb: ein paar Umbrüche eingefügt, so dass das Layout nicht zu sehr in die Breite gezogen wird. Gruß}
Seiten: [1]
|