Thema Datum  Von Nutzer Rating
Antwort
Rot Ergebnis von Funktion in Code einbauen
22.04.2022 13:30:54 Dennis
Solved
22.04.2022 14:30:37 Gast74390
NotSolved
22.04.2022 15:05:17 Stefan
NotSolved
22.04.2022 17:13:44 Gast7777
NotSolved
25.04.2022 22:36:53 Gast3328
NotSolved
25.04.2022 22:38:01 Mackie
NotSolved

Ansicht des Beitrags:
Von:
Dennis
Datum:
22.04.2022 13:30:54
Views:
254
Rating: Antwort:
 Nein
Thema:
Ergebnis von Funktion in Code einbauen

Hallo zusammen,

ich bin relativ neu im VBA-Bereich und kenne mich leider noch nicht so gut beim Schreiben von Code aus. Zurzeit hänge ich an einem Makro der mir bspw. folgende Umstrukturierung ermöglichen soll.

Current Structure   Structure after Macro  
           
World          
   Europe          
       Italy     World Europe Italy
       Germany   World Europe Germany
       France     World Europe France
   North America        
       USA     World North America USA
       Mexico     World North America Mexico
   South America        
       Brazil     World South America Brazil
       Venezuela   World South America Venezuela
       Peru     World South America Peru

Der Makro soll also je nachdem, um wie viele Leerzeichen das entsprechende Wort eingerückt ist, den Wert der Zelle in eine andere Spalte schreiben. (für mehrere 1000 Zeilen) Meine Idee war, in VBA eine Funktion zu schreiben, die die Anzahl der Leerzeichen vor jedem Wort auswertet und dann bspw. bei 15 Leerzeichen vor dem Wort (Land), den Wert in Spalte E schreibt, bei 10 Leerzeichen (Kontinent) den Wert in Spalte D schreibt und so weiter. Meine Funktion scheint auch zu funktionieren, aber ich verstehe nicht, wie ich das Ergebnis der Funktion in den Code einbauen kann:

 

Option Explicit

Sub RestructureOHEP()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Adhoc")
Dim lr As Long, i As Long, pr As Long

lr = ws.Range("B" & ws.Rows.Count).End(xlUp).Row

For i = 1 To lr

     If Range("B" & i).Value = 15 Then   --> hier müsste ich ja jetzt irgendwie das Ergebnis der Funktion = 15 einbauen
     Range("D" & i).Value = 3 --> als Test habe ich einfach mal geschrieben, dass es mir eine 3 in Spalte D anzeigen soll, aber sämtliche Versuche gingen bisher schief
     End If
Next i
    
End Sub


Public Function NumberOfLeadingSpaces(ByVal theString As String) As Integer
    NumberOfLeadingSpaces = Len(theString) - Len(LTrim(theString))
End Function
 

Kann mir hier vielleicht jemand weiterhelfen?

Vielen lieben Dank schon mal :)

Viele Grüße, Dennis

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Ergebnis von Funktion in Code einbauen
22.04.2022 13:30:54 Dennis
Solved
22.04.2022 14:30:37 Gast74390
NotSolved
22.04.2022 15:05:17 Stefan
NotSolved
22.04.2022 17:13:44 Gast7777
NotSolved
25.04.2022 22:36:53 Gast3328
NotSolved
25.04.2022 22:38:01 Mackie
NotSolved