Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    21

    [Visual Basic] Togliere Apici " da stringa

    Ragazzi mi serve una mano in tempo super urgente:
    ho un problema di questo tipo.Ho salvato in una stringa una condizione che volevo mettere in un programma vb.Ma ovviamente il programma non va perchè quando nell'If scrivo:
    if stringa then (dove stringa è la variabile dove ho salvato la condizione),
    mi dice dati non corrispondenti perchè prende gli apici " che chiudono e aprono la strigna.
    Posso e se si in che modo estrarre solo iil testo senza gli apici?
    Copio il codice:
    Sub EstraiDatiP5()
    MsgBox "Ciao", vbCritical, "ciao"
    Foglio12.Range("B4:J130").Clear
    Dim i, c, j As Integer
    Dim f As Integer
    Dim L, conta As Integer
    Dim s, condizione As String
    Dim ifI As Integer
    Dim riga, linea, app, a, b As String
    conta = 0
    Foglio12.Cells(1, 1) = Foglio2.Cells(3, 1)
    f = 3
    For i = 5 To 700
    'checkbox1
    If Foglio12.CheckBox1.Value = "Vero" Then
    conta = conta + 1
    condizione = condizione + "(Foglio2.Cells(i, 2) = " & """C70"") "
    End If
    'checkbox2
    If Foglio12.CheckBox2.Value = "Vero" And conta > 0 Then
    condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """D70"") "
    conta = conta + 1
    Else
    If Foglio12.CheckBox2.Value = "Falso" Then
    Else
    conta = conta + 1
    condizione = condizione + "(Foglio2.Cells(i, 2) = " & """D70"") "
    End If
    End If
    'checkbox3
    If Foglio12.CheckBox3.Value = "Vero" And conta > 0 Then
    condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """E70"") "
    conta = conta + 1
    Else
    If Foglio12.CheckBox3.Value = "Falso" Then
    Else
    conta = conta + 1
    condizione = condizione + "(Foglio2.Cells(i, 2) = " & """E70"") "
    End If
    End If
    'checkbox4
    If Foglio12.CheckBox4.Value = "Vero" And conta > 0 Then
    condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """F70"") "
    conta = conta + 1
    Else
    If Foglio12.CheckBox4.Value = "Falso" Then
    Else
    conta = conta + 1
    condizione = condizione + "(Foglio2.Cells(i, 2) = " & """F70"") "
    End If
    End If
    'checkbox5
    If Foglio12.CheckBox5.Value = "Vero" And conta > 0 Then
    condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """G70"") "
    conta = conta + 1
    Else
    If Foglio12.CheckBox5.Value = "Falso" Then
    Else
    conta = conta + 1
    condizione = condizione + "(Foglio2.Cells(i, 2) = " & """G70"") "
    End If
    End If
    'checkbox6
    If Foglio12.CheckBox6.Value = "Vero" And conta > 0 Then
    condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """H70"") "
    conta = conta + 1
    Else
    If Foglio12.CheckBox6.Value = "Falso" Then
    Else
    conta = conta + 1
    condizione = condizione + "(Foglio2.Cells(i, 2) = " & """H70"") "
    End If
    End If
    'checkbox7
    If Foglio12.CheckBox7.Value = "Vero" And conta > 0 Then
    condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """I70"") "
    conta = conta + 1
    Else
    If Foglio12.CheckBox7.Value = "Falso" Then
    Else
    conta = conta + 1
    condizione = condizione + "(Foglio2.Cells(i, 2) = " & """I70"") "
    End If
    End If
    'checkbox8
    If Foglio12.CheckBox8.Value = "Vero" And conta > 0 Then
    condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """J70"") "
    conta = conta + 1
    Else
    If Foglio12.CheckBox8.Value = "Falso" Then
    Else
    conta = conta + 1
    condizione = condizione + "(Foglio2.Cells(i, 2) = " & """J70"") "
    End If
    End If
    'checkbox9
    If Foglio12.CheckBox9.Value = "Vero" And conta > 0 Then
    condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """K70"") "
    conta = conta + 1
    Else
    If Foglio12.CheckBox9.Value = "Falso" Then
    Else
    conta = conta + 1
    condizione = condizione + "(Foglio2.Cells(i, 2) = " & """K70"") "
    End If
    End If
    'checkbox10
    If Foglio12.CheckBox10.Value = "Vero" And conta > 0 Then
    condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """L70"") "
    conta = conta + 1
    Else
    If Foglio12.CheckBox10.Value = "Falso" Then
    Else
    conta = conta + 1
    condizione = condizione + "(Foglio2.Cells(i, 2) = " & """L70"") "
    End If
    End If
    'checkbox11
    If Foglio12.CheckBox11.Value = "Vero" And conta > 0 Then
    condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """M70"") "
    conta = conta + 1
    Else
    If Foglio12.CheckBox11.Value = "Falso" Then
    Else
    conta = conta + 1
    condizione = condizione + "(Foglio2.Cells(i, 2) = " & """M70"") "
    End If
    End If
    'checkbox12
    If Foglio12.CheckBox12.Value = "Vero" And conta > 0 Then
    condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """N70"") "
    conta = conta + 1
    Else
    If Foglio12.CheckBox12.Value = "Falso" Then
    Else
    conta = conta + 1
    condizione = condizione + "(Foglio2.Cells(i, 2) = " & """N70"") "
    End If
    End If
    MsgBox condizione, vbInformation, "fine"

    If condizione Then
    f = f + 1
    Foglio12.Cells(f, 2) = Foglio2.Cells(i, 2)
    Foglio12.Cells(f, 3) = Foglio2.Cells(i, 3)
    Foglio12.Cells(f, 4) = Foglio2.Cells(i, 4)
    L = Len(Foglio2.Cells(i, 5))
    Foglio12.Cells(f, 5) = Mid(Foglio2.Cells(i, 5), 5, L)
    Foglio12.Cells(f, 6) = Foglio2.Cells(i, 6)
    Foglio12.Cells(f, 7) = Foglio2.Cells(i, 31)
    app = Foglio2.Cells(i, 29)
    'Lettura scheda
    s = "\\cluster\serverunix\schede\" & app
    If Dir(s) <> "" Then
    ifI = FreeFile
    Open s For Input As ifI
    Do While Not EOF(1)
    Line Input #ifI, linea
    j = Len(linea)
    'MsgBox linea, vbInformation, "Prova"
    riga = riga & linea
    Loop
    Close #1
    riga = InStr(1, riga, "Posizione saldatura :............................. ", 1)
    c = Len("Posizione saldatura :............................. ")
    riga = riga + c - 4
    b = (InStr(1, a, "Posizione saldatura :............................. ", 1))
    s = Mid(linea, riga, 25)
    'MsgBox s, vbInformation, "Prova"
    Foglio12.Cells(f, 8) = s
    Else
    MsgBox "Scheda " & app & " del TUBO" & Foglio12.Cells(f, 5) & " non è stata Trovata!", vbExclamation, "Impossibile aprire la scheda"
    End If
    End If
    Next i
    s = "H" & f
    Foglio12.Range("B3", s).Borders.Weight = xlThin
    s = "B4:" + s
    'Ordina x Lotto
    Columns("B:B").Select
    ActiveWorkbook.Worksheets("P5").Sort.SortFields.Cl ear
    ActiveWorkbook.Worksheets("P5").Sort.SortFields.Ad d Key:=Range("B1"), SortOn _
    :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    Range(s).Select
    ActiveWorkbook.Worksheets("P5").Sort.SortFields.Cl ear
    ActiveWorkbook.Worksheets("P5").Sort.SortFields.Ad d Key:=Range("B4"), SortOn _
    :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("P5").Sort
    .SetRange Range(s)
    .Header = xlNo
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With
    'Ordina per progressivo e lotto
    ActiveWorkbook.Worksheets("P5").Sort.SortFields.Cl ear
    ActiveWorkbook.Worksheets("P5").Sort.SortFields.Ad d Key:=Range("B4:B25"), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("P5").Sort.SortFields.Ad d Key:=Range("D425"), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("P5").Sort
    .SetRange Range("B3:H25")
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With
    End Sub

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    usa i tag code o php per inserire il codice..

    Quello che chiedi cmq credo sia impossibile, devi trovare un altro modo..

    Una condizione fomata da and e or ecc.. inserita in una stringa non verrà mai considerata come codice.. almeno di operatori che non conosco devi trovare un sistema sintatticamente e logicamente migliore

  3. #3
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Basta usare la funzione Replace() ovvero

    codice:
    newString = Replace(oldString, """", "")
    Per il resto, non ho capito cosa vuoi fare, ma immagino che tu invece lo sappia

    Ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    21
    Ciao Gibra putroppo non è possibile ccon il Replace e credo con nessun altro modo di togliere gli apici che delimitano una stringa

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da stek23
    Ciao Gibra putroppo non è possibile ccon il Replace e credo con nessun altro modo di togliere gli apici che delimitano una stringa
    Scusa, avevo inteso che volevi eliminare tutti i doppi apici!

    Se ti server eliminare il primo e l'ultimo è altrettanto semplice:

    codice:
    newString = Mid$(oldString, 2, Len(oldString) - 2)
    Altrimenti, se non è questo che ti serve, spiegati meglio.

    Ciao

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Scusa, ma di quale If parli?

    Perche' nel codice che hai postato (senza i tag CODE) non si capisce nulla ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    21
    Tutto ok ho risolto in altro modo!

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da stek23
    Tutto ok ho risolto in altro modo!
    Beh ... indica come hai risolto ... puo' servire ad altri e ci togli una curiosita' ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    21
    Ho risolto in modo completamente diverso usando un filtro nella tabella excel dove dovevo andare ad estrarre i dati!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.