从VBA Excel中的字符串中检索非常具体的值

时间:2018-11-14 19:17:14

标签: regex excel vba string

一种名为Rotman Interactive Trader的交易软件正在将一些原油供应“新闻”(也称为字符串)推入Excel,这种形式或多或少遵循以下格式:

  

第3周CL实际训练量为12 MLB BBLS VS预测训练量为4 MLN BBLS

我基本上想抓住12和4,然后减去(12-4 = 8)。但是,新闻也可能是:

  

第3周12磅常规量级BB VS预测抽签 4 MLN BBLS

在此示例中,我的计算将是(12 + 4 = 16)。第一个“ BUILD”也可以是“ DRAW”

理想情况下,按照第一个示例,我想编写一个返回此数组或类似内容的函数。

[0][0] = BUILD
[0][1] = 14
[1][0] = BUILD
[1][1] = 4

可悲的是,我不太熟练VBA Excel,希望获得一些帮助或想法以实现此目标。感谢所有帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

正则表达式是我认为最简单的选择。请看下面的代码,它可以改编成自定义函数:

<template>
  <div id="app">
    <p>This will render</p>

    <div v-for="message in messages" :key="message.text"> <!-- This will NOT -->
    <h4>{{ message.title }}</h4>
    <p>{{ message.text }}</p>
    <p>{{ message.timestamp }}</p>
</div>
  </div>
</template>

<script>
import firebase from 'firebase';

  var config = {
    apiKey: "IN THE CODE I HAVE A WORKING API KEY",
    authDomain: "vuemymessage.firebaseapp.com",
    databaseURL: "https://vuemymessage.firebaseio.com",
    projectId: "vuemymessage",
    storageBucket: "vuemymessage.appspot.com",
    messagingSenderId: "204332593971",
    timestampsInSnapshots: true
  };
  let app = firebase.initializeApp(config);

  let db = firebase.firestore();

  export default {
    name: "App",
    data(){
      return {
        messages: []
      }
    },
    firestore(){
      return {
        messages: db.collection('messages')
      }
    },
  }
</script>

<style>
#app {
}
</style>

这也可以使用单元内公式来完成,但是会有些麻烦。