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 - CHR22
Seiten: [1]
1
« am: Dezember 01, 2017, 11:57:43 Vormittag »
Ja in meiner Beispieldatei ist doch was drin, auch der code. Um ganz sicher zu gehen lade ich sie mir nochmal runter und schau nach. Außerdem steht dort: 0 mal heruntergeladen. Format ist: xlsm
2
« am: Dezember 01, 2017, 10:09:41 Vormittag »
worauf Themenersteller total abfahren:
Wenn der Text zu schnell gelesen wird und die Frage nicht verstanden wird obwohl es gut erklärt wurde.
Nach einer Beispieldatei gefragt wird (kann sinnvoll sein) obwohl eine hochgeladen wurde. Ja sieht man nicht immer sofort.
Mit meiner Antwort war ich zu schnell, ok. Wenn es Fragen gibt dann erkläre ich was ich vorhabe gerne nochmal (eig nicht nötig)
3
« am: November 30, 2017, 10:06:48 Vormittag »
Es gibt keine Lösung?
4
« am: November 28, 2017, 23:52:20 Nachmittag »
Hallo,
Ich möchte bestimmte Zahlen aus einer Zelle herauslöschen, am besten wäre eine Lösung mit VBA. In diesen Zellen befinden sich kurze Sätze, diese beziehen sich auf Elektronik Einkäufe. Darin steht auch was die einzelnen Geräte gekostet haben. Diese Zahl stört mich und ich möchte sie löschen. Meine erste Ideee war:
Ich verwende die Funktion "Text in Spalten" und trenne nach Leerzeichen, die Zahl die gelöscht werden soll steht nun allein in einer Spalte, mit dem Befehl Intersect kann man sich einen Code basteln der die Spalte in welcher der Satz steht nach der Zahl durchsucht und diese löscht. Ich sage: Durchsuche die Spalte E nach den Werten die in Spalte F stehen und wenn du sie findest dann lösche sie. Klappt nicht so gut, der Code ist sehr langsam sonst aber brauchbar. Dann hatte ich noch eine Ideee : Um das ganze schneller zu machen könnte man ja die Werte in ein Array übergeben und dann bearbeiten, mein Code funktioniert aber leider nicht. Deswegen möchte ich mich an euch wenden. Ich hoffe ihr könnt mir helfen. Ich lade eine Beispieldatei hoch, mit beiden Codes.
und: Für die Funktion "Text in Spalten" verwende ich eine andere Tabelle die auf dem gleichen Tabellenblatt steht und die die gleichen Informationen enthält. Damit kann ich erreichen dass die Preise pro Stück (die Zahlen die gelöscht werden sollen) alle in einer Spalte stehen, aber leider ohne das E, das muss noch irgendwie mit dazu.
Die Abkürzung E für Euro hab ich nachträglich hinzugefügt, mit der benutzerdefinierten Formatierung. Wenn ich dann aber den Code mit Intersect (der ja funktioniert) anwende klappt es leider nicht. Geht nur wenn ich das E direkt in die Zelle eintippe und hinter die Zahl schreibe. Warum geht das nicht? Das wäre zeitsparender, als wenn ich jedesmal das E einfügen muss.
Gruß
5
« am: April 29, 2017, 21:29:21 Nachmittag »
Hallo, ich bin auf der suche nach einer makro mit der man werte einer Tabelle mithilfe eines Buttons sortieren kann. Im Internet habe ich dazu auch einen guten Code gefunden, traue mich aber nicht so recht ihn zu verwenden, da mir ein Studienkollege mal erzählt hat dass es auch gefährliche codes geben soll. Der code sieht sehr komplex aus, ich verstehe schon was von Excel und vba, nur Funktionen wie VBScript.Reg und Preserve sind mir nicht bekannt. Deswegen wollt ich mal die Experten hier fragen, ob der code so in Ordnung bzw ungefährlich ist. Excel 2013 hier der code: Option Explicit Sub test() Dim temp(1 To 2), a, i As Long, ii As Long, n As Long With Sheets("Sortieren") For i = 1 To 2 With .ListObjects(i) a = .DataBodyRange.Value ReDim Preserve a(1 To UBound(a, 1), 1 To UBound(a, 2) + 1) For ii = 1 To UBound(a, 1) If a(ii, 2) = "" Then n = ii - 1: Exit For a(ii, UBound(a, 2)) = GetSortVal(a(ii, 2) & " " & ii) Next VSortM a, 1, n, UBound(a, 2) .DataBodyRange.Value = a End With Next End With End Sub Function GetSortVal(ByVal txt As String) As String Dim i As Long, M As Object With CreateObject("VBScript.RegExp") .Global = True .Pattern = "\d+" If .test(txt) Then For i = .Execute(txt).Count - 1 To 0 Step -1 Set M = .Execute(txt)(i) txt = Application.Replace(txt, M.firstindex + 1, M.Length, Format$(M.Value, "0000000000")) Next End If End With GetSortVal = txt End Function Private Sub VSortM(ary, LB, UB, ref) Dim i As Long, ii As Long, iii As Long, M, temp i = UB: ii = LB M = ary(Int((LB + UB) / 2), ref) Do While ii <= i Do While ary(ii, ref) < M: ii = ii + 1: Loop Do While ary(i, ref) > M: i = i - 1: Loop If ii <= i Then For iii = LBound(ary, 2) To UBound(ary, 2) temp = ary(ii, iii): ary(ii, iii) = ary(i, iii): ary(i, iii) = temp Next i = i - 1: ii = ii + 1 End If Loop If LB < i Then VSortM ary, LB, i, ref If ii < UB Then VSortM ary, ii, UB, ref End Sub
Gruß Chris Edit: Künftig bitte Code-Tag nutzen.
Seiten: [1]
|